public function create($args = []) { if ($this->definition === null) { throw new IllegalCallException("Factory does not posses required definition."); } return call_user_func_array($this->definition, (array) $args); }