public static function removeListener($event_name, callable $listener): bool
	{
		if (! isset(static::$listeners[$event_name]))
		{
			return false;
		}

		foreach (static::$listeners[$event_name][2] as $index => $check)
		{
			if ($check === $listener)
			{
				unset(static::$listeners[$event_name][1][$index]);
				unset(static::$listeners[$event_name][2][$index]);

				return true;
			}
		}

		return false;
	}
public static function removeListener($event_name, callable $listener): bool
	{
		if (! isset(static::$listeners[$event_name]))
		{
			return false;
		}

		foreach (static::$listeners[$event_name][2] as $index => $check)
		{
			if ($check === $listener)
			{
				unset(static::$listeners[$event_name][1][$index]);
				unset(static::$listeners[$event_name][2][$index]);

				return true;
			}
		}

		return false;
	}
public static function removeListener ( $ event_name , callable $ listener ) : bool { if ( ! isset ( static :: $ listeners [ $ event_name ] ) ) { return false ; } foreach ( static :: $ listeners [ $ event_name ] [ 2 ] as $ index => $ check ) { if ( $ check === $ listener ) { unset ( static :: $ listeners [ $ event_name ] [ 1 ] [ $ index ] ) ; unset ( static :: $ listeners [ $ event_name ] [ 2 ] [ $ index ] ) ; return true ; } } return false ; }
Removes a single listener from an event.

If the listener couldn't be found, returns FALSE, else TRUE if
it was removed.

@param $event_name
@param callable   $listener

@return boolean
Removes a single listener from an event .