public function runResolver($resolver, $parameters = [], $method = null)
	{
		if (is_callable($resolver))
		{
            return call_user_func_array($resolver, $parameters);
        }

        if(class_exists($resolver))
        {
        	$instance = $this->container->make($resolver, $parameters);
		    if($instance instanceof Command)
		    {
		    	return Bus::dispatch($instance, $parameters);
		    }

		    if(is_callable([$instance, $method]))
		    {
		    	 return call_user_func_array([$instance, $method], $parameters);
		    }
        }

        if(strpos($resolver, '@') !== false)
        {
        	list($class, $method) = explode('@', $this->action['uses']);

        	if (!method_exists($instance = $this->container->make($class), $method)) {
		        throw new Exception('Invalid method mapped on object: ' . $class . '.');
		    }

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

        throw new Exception('Invalid resolver: ' . $resolver . '.');
	}