public function execute() {
		$arguments = func_get_args();

		if ( $this->handler instanceof Closure ) {
			return call_user_func_array( $this->handler, $arguments );
		}

		$namespace = $this->handler['namespace'];
		$class = $this->handler['class'];
		$method = $this->handler['method'];

		try {
			$instance = Application::instantiate( $class );
		} catch ( ClassNotFoundException $e ) {
			try {
				$instance = Application::instantiate( $namespace . $class );
			} catch ( ClassNotFoundException $e ) {
				throw new ClassNotFoundException( 'Class not found - tried: ' . $class . ', ' . $namespace . $class );
			}
		}

		return call_user_func_array( [$instance, $method], $arguments );
	}