code: function (cb, context) {
            var list = this.$$conf.listeners;
            list.push([cb, context]);
            // an off function for cancelling the listener
            return function () {
              var i = list.findIndex(function (parts) {
                return parts[0] === cb && parts[1] === context;
              });
              if (i > -1) {
                list.splice(i, 1);
              }
            };
          }
docs: Listeners passed into this method are notified whenever a new change is received
  from the server. Each invocation is sent an object containing
  <code>{ type: 'value', key: 'my_firebase_id' }</code>
  
  This method returns an unbind function that can be used to detach the listener.
  
  @param {Function} cb
  @param {Object} [context]
  @returns {Function} invoke to stop observing events