function run($default_template)
 {
     //set template paths
     $Path = apply_filters("WXP.get_paths_object", new Path());
     do_action("WXP.set_template_paths", $Path);
     //template paths can now be accessed via WXP::get_template_paths
     WXP::setPaths($Path);
     //allow override of global View object
     $View = apply_filters("WXP.get_global_view", View::getInstance());
     //make View observable
     $View = new Observer("View", $View);
     //set global View object variable for easy access
     $View->add("wxp_global_view", $View);
     //set default render path
     $View->set_render_path($default_template)->add("wxp_default_render_path", $default_template)->add("wxp_allow_plugin_template_override", true);
     //do dom routing action
     $router = apply_filters("WXP.get_dom_router", DomRouter::getInstance());
     //make router observable;
     $router = new Observer("DomRouter", $router);
     do_action("WXP.set_dom_routes", $router);
     $router->route();
     //now include view.php; which will render the global view
     return apply_filters("WXP.view_render_page", WXP::DS(get_template_directory() . "/view.php"));
 }