public static function end()
    {
        if (!self::$_page || ErrorHandling::lastError()) {
            return;
        }
        self::$_zones[self::$_outputZone]->append(ob_get_clean());
        self::$_page->output();

        // reset class
        self::$_page = null;
        self::$_zones = array();
        self::$_zoneStack = array();
        self::$_outputZone = 'body';

        echo '<!-- ';
        echo '~', Asbestos::executionTime();
        echo " -->\n";
    }