public function connectClosure(MObject $sender, $signal, \Closure $callback) { if ($sender != $this) { $sender->connectClosure($sender, $signal, $callback); return; } $slot = new MSlot(); $slot->setMethod($callback)->setReceiver(null); $this->signals[$signal][] = $slot; }