protected static function _call($callable, $request, $params) {
		$params = compact('callable', 'request', 'params');
		return Filters::run(get_called_class(), __FUNCTION__, $params, function($params) {
			if (is_callable($callable = $params['callable'])) {
				$request = $params['request'];
				$params = $params['params'];

				if (!method_exists($callable, $params['action'])) {
					array_unshift($params['args'], $request->params['action']);
					$params['action'] = 'run';
				}
				$isHelp = (
					!empty($params['help']) || !empty($params['h']) ||
					!method_exists($callable, $params['action'])
				);
				if ($isHelp) {
					$params['action'] = '_help';
				}
				return $callable($params['action'], $params['args']);
			}
			throw new UnexpectedValueException("Callable `{$callable}` is actually not callable.");
		});
	}
protected static function _call($callable, $request, $params) {
		$params = compact('callable', 'request', 'params');
		return Filters::run(get_called_class(), __FUNCTION__, $params, function($params) {
			if (is_callable($callable = $params['callable'])) {
				$request = $params['request'];
				$params = $params['params'];

				if (!method_exists($callable, $params['action'])) {
					array_unshift($params['args'], $request->params['action']);
					$params['action'] = 'run';
				}
				$isHelp = (
					!empty($params['help']) || !empty($params['h']) ||
					!method_exists($callable, $params['action'])
				);
				if ($isHelp) {
					$params['action'] = '_help';
				}
				return $callable($params['action'], $params['args']);
			}
			throw new UnexpectedValueException("Callable `{$callable}` is actually not callable.");
		});
	}
protected static function _call ( $ callable , $ request , $ params ) { $ params = compact ( 'callable' , 'request' , 'params' ) ; return Filters :: run ( get_called_class ( ) , __FUNCTION__ , $ params , function ( $ params ) { if ( is_callable ( $ callable = $ params [ 'callable' ] ) ) { $ request = $ params [ 'request' ] ; $ params = $ params [ 'params' ] ; if ( ! method_exists ( $ callable , $ params [ 'action' ] ) ) { array_unshift ( $ params [ 'args' ] , $ request -> params [ 'action' ] ) ; $ params [ 'action' ] = 'run' ; } $ isHelp = ( ! empty ( $ params [ 'help' ] ) || ! empty ( $ params [ 'h' ] ) || ! method_exists ( $ callable , $ params [ 'action' ] ) ) ; if ( $ isHelp ) { $ params [ 'action' ] = '_help' ; } return $ callable ( $ params [ 'action' ] , $ params [ 'args' ] ) ; } throw new UnexpectedValueException ( "Callable `{$callable}` is actually not callable." ) ; } ) ; }
Calls a given command with the appropriate action.

This method is responsible for calling a `$callable` command and returning its result.

@param string $callable The callable command.
@param string $request The associated `Request` object.
@param string $params Additional params that should be passed along.
@return mixed Returns the result of the called action, typically `true` or `false`.
@filter
Calls a given command with the appropriate action .