*/ private $subject; /** * @author Christian Fraß */ private function __construct(struct $subject) {$this->subject = $subject;} /** * @author Christian Fraß */ public static function make() : class_observer {return (new class_observer(make()));} /** * implementations * * @author Christian Fraß */ public function register(\Closure $procedure) {return register($this->subject, $procedure);} public function notify($data) {notify($this->subject, $data);} } ?>