code: function(options)
  	{
  		var args = conbo.toArray(arguments);
  		
  		if (args[0] === undefined) 
  		{
  			args[0] = {};
  		}
  		else if (args[0] instanceof conbo.Context && conbo.is(this, conbo.IInjectable, false)) 
  		{
  			args[0] = args[0].addTo();
  		}
  		
  		this.declarations.apply(this, args);
  		
  		if (!!args[0].context)
  		{
  			this.context = args[0].context;
  		}
  	
  		if (this instanceof conbo.EventDispatcher)
  		{
  			this.dispatchEvent(new conbo.ConboEvent(conbo.ConboEvent.PREINITIALIZE));
  		}
  
  		this.preinitialize.apply(this, args);
  		this.__construct.apply(this, args);
  		
  		if (this instanceof conbo.EventDispatcher)
  		{
  			this.dispatchEvent(new conbo.ConboEvent(conbo.ConboEvent.INITIALIZE));
  		}
  
  		this.initialize.apply(this, args);
  		conbo.makeAllBindable(this, this.bindable);
  		this.__postInitialize.apply(this, args);
  		
  		if (this instanceof conbo.EventDispatcher)
  		{
  			this.dispatchEvent(new conbo.ConboEvent(conbo.ConboEvent.INIT_COMPLETE));
  		}		
  	}
docs: Constructor: DO NOT override! (Use initialize instead)
  @param 	{Object|conbo.Context}	[options] - Options object