lib/occamsrazor.js
function stick () {
    var context = this
    var args = ut.getArgs(arguments)
    var filteredAdapters = ut.filterAndSort(args, _adapters)
    var consumeAdapters = filteredAdapters.filter(function (adapter) { return adapter.doesConsume })
    // adapters published with "consume" trigger the removal of the registered event
    if (!consumeAdapters.length) {
      ut.binaryInsert(_events, { context: this, args: args }, comparator)
    }
    filteredAdapters.forEach(ut.countdown)
    ut.filterArray(_adapters, ut.notExausted)
    ut.triggerAll(context, args, filteredAdapters)
    return or
  }
function stick () {
    var context = this
    var args = ut.getArgs(arguments)
    var filteredAdapters = ut.filterAndSort(args, _adapters)
    var consumeAdapters = filteredAdapters.filter(function (adapter) { return adapter.doesConsume })
    // adapters published with "consume" trigger the removal of the registered event
    if (!consumeAdapters.length) {
      ut.binaryInsert(_events, { context: this, args: args }, comparator)
    }
    filteredAdapters.forEach(ut.countdown)
    ut.filterArray(_adapters, ut.notExausted)
    ut.triggerAll(context, args, filteredAdapters)
    return or
  }
function stick ( ) { var context = this var args = ut . getArgs ( arguments ) var filteredAdapters = ut . filterAndSort ( args , _adapters ) var consumeAdapters = filteredAdapters . filter ( function ( adapter ) { return adapter . doesConsume } ) // adapters published with "consume" trigger the removal of the registered event if ( ! consumeAdapters . length ) { ut . binaryInsert ( _events , { context : this , args : args } , comparator ) } filteredAdapters . forEach ( ut . countdown ) ut . filterArray ( _adapters , ut . notExausted ) ut . triggerAll ( context , args , filteredAdapters ) return or }
/* this function is posting an event: context "this" and arguments
/ * this function is posting an event : context this and arguments