Диспетчер запросов на Laravel

Как передать управление от одного контроллера или действия другому на Laravel. Напрмиер в Phalcon для этого существует http://docs.phalconphp.ru/ru/latest/reference/dispatching.html. В Laravel можно сделать так:

redirect()->action('Controller@action');

Но этот вариант будет работать только если для данных контроллера с действием будет создан маршрут.

Если маршрута нет, что делать? Я нашёл такой выход из ситуации.

use Illuminate\Container\Container;
use Illuminate\Routing\ControllerDispatcher;

...

public function forward($action)
{
    list($class, $method) = explode('@', $action);
    $request = app()->make('request');
    $namespace = 'App\Http\Controllers\\';
    $class = $namespace . $class;

    return (new ControllerDispatcher($this->getRouter(), new Container))
            ->dispatch($this->getRouter()->current(), $request, $class, $method);
}

...

Где аргумент $action вида 'Controller@action'