factory = $factory; $this->handler = $handler; } public function apply($modelClass, array $data) { $bulkActionMethod = 'bulk' . ucfirst($data['action']); unset($data['action']); $actionClass = $this->factory->getActionClass($modelClass, $bulkActionMethod); $callback = [$actionClass, $bulkActionMethod]; if (is_callable($callback)) { return call_user_func_array( $callback, [$this->handler->getSelection($modelClass, $data['listing']), $data] ); } } }