docs: function(options)
  	{
  		options = options || {};
  
  		this._modelBindersMap = null;
  		this._collectionBinder = null;
  		this._bindingIndex = null;
  		this._itemAlias = null;
  
  		this._subviewsStruct = null;
  		this._explicitSubviewsStruct = null;
  		this._pendingRefresh = false;
  		this._pendingRefreshRoot = false;
  		this._subviewsArgs = null;
  		this._isRunning = false;
  		this._isSuspended = false;
  		this._template = null;
  		this._isolated = false;
  		this.subviews = null;
  
  		if(options.isolated)
  		{
  			this._isolated = true;
  		}
  
  		if(options.parentView)
  		{
  			this.scope = options.scope || null;
  			this._setParentView(options.parentView);
  		}
  		else if(options.scope) this.scope = mixin({}, options.scope);
  		else this.scope = {};
  
  		options.scope = null;
  
  		if(options.events)
  		{
  			this.domEvents = options.events.slice();
  		}
  		else this.domEvents = [];
  
  		if(options.dispatcher)
  		{
  			this.dispatcher = options.dispatcher;
  		}
  		else this.dispatcher = null;
  
  		if(options.actions)
  		{
  			this.actions = mixin({
  				set: actionSet
  			}, options.actions);
  		}
  		else if((this.parentView == null || this._isolated )&& !options._clone)
  		{
  			this.actions = {
  				set: actionSet
  			};
  		}
  		else this.actions = null;
  
  		if(options.env)
  		{
  			this.env = options.env;
  		}
  		else this.env = { document: document, window: window };
  
  		if(options.element)
  		{
  			this.element = options.element
  			options.element = null;
  		}
  		else this.element = this.env.document.body;
  
  		this.options = options;
  	}