code: function ( obj ) {
  		var methods = [
  			["fire",      function () { return observer.fire.apply( observer, [this].concat( array.cast( arguments ) ) ); }],
  			["listeners", function ( event ) { return observer.list(this, event ); }],
  			["on",        function ( event, listener, id, scope, standby ) { return observer.add( this, event, listener, id, scope, standby ); }],
  			["once",      function ( event, listener, id, scope, standby ) { return observer.once( this, event, listener, id, scope, standby ); }],
  			["un",        function ( event, id ) { return observer.remove( this, event, id ); }]
  		];
  
  		array.each( methods, function ( i ) {
  			utility.property( obj, i[0], {value: i[1], configurable: true, enumerable: true, writable: true} );
  		});
  
  		return obj;
  	}
docs: Decorates `obj` with `observer` methods
  
  @method decorate
  @param  {Object} obj Object to decorate
  @return {Object}     Object to decorate