protected function apply($method, $arguments) { if (!method_exists($this, $method)) { throw new \BadMethodCallException(sprintf('Method %s do not exists', $method), 7); } return call_user_func_array(array($this, $method), $arguments); }