so = $so; $this->uo = $uo; $this->action = $action; $this->mode = $mode; } public static function factory(string $class,Server $so,User $uo,int $action,int $mode) { $c = self::prefix.$class; $o = class_exists($c) ? new $c($so,$uo,$action,$mode) : FALSE; $so->log('debug',sprintf(($o ? 'Executing: %s' : 'Class doesnt exist: %s'),$c)); return $o; } abstract public function handle(); }