code: function on(eventName, handler, context, args, once) {
      this.__listeners = this.__listeners || {};
      this.__listeners[eventName] = this.__listeners[eventName] || [];
      this.__listeners[eventName].push({
          fn: handler,
          context: context,
          args: args,
          once: !!once
      });
  }
docs: Adds listener for an event
  @param {string} eventName
  @param {function} handler
  @param {object} context
  @param {array} args
  @param {boolean} once