lib/Base.js
function(evname, callback, context) {
    var self = this, args = arguments;
    this.on(evname, function() {
      callback.apply(context, arguments);
      self.off.apply(self, args);
    });
    return this;
  }
function(evname, callback, context) {
    var self = this, args = arguments;
    this.on(evname, function() {
      callback.apply(context, arguments);
      self.off.apply(self, args);
    });
    return this;
  }
function ( evname , callback , context ) { var self = this , args = arguments ; this . on ( evname , function ( ) { callback . apply ( context , arguments ) ; self . off . apply ( self , args ) ; } ) ; return this ; }
Bind event listener and only fire once

@param {string} name of event
@param {function} callback if event is triggered
@param {object} context in which callback is called
@return {this}
Bind event listener and only fire once