public static function add(Iface $obj) { $hash = $obj->hash(); if (isset(self::$tran[$hash])) { return $obj; } self::claimStart(); if (!$obj->start(self::SIGNATURE)) { return FALSE; } return self::$tran[$hash] = $obj; }