public function display($layout=null, $env=array()) {
		if( $layout === NULL ) {
			throw new \Exception("Invalid Rendering Model");
		}
		$rendering = $this->getCurrentRendering();
		if( $rendering ) {
			$env += $rendering[1];
		}
		
		// TODO Merge layoutStack and rendering stack
		$prevLayouts = count(static::$layoutStack);
		$this->pushToStack($layout, $env);
		
		extract($env, EXTR_SKIP);
		// Store this to end layouts, static because ob_* functions are globals
//		static::$current = $this;
		include $this->getLayoutPath($layout);
		
		$this->pullFromStack();
		$currentLayouts = count(static::$layoutStack);
		while( $currentLayouts > $prevLayouts && static::endCurrentLayout($env) ) {
			$currentLayouts--;
		}
	}