static public function trigger(string $event, array $args = [], bool $delete = true, $newthis = null): int {
		if(!self::exists($event)) return 0;
        

        foreach(self::$listeners[$event] as $listener) {
            static $count = 0;

            if($newthis) $listener = $listener->bindTo($newthis);
            $listener(...$args);

            $count++;
        }

        if($delete) self::delete($event);
		return $count;
	}