src/Event.php
public static function fireFilter($event, $value) {
        $handlers = self::getHandlers($event);
        if (!$handlers) {
            return $value;
        }

        $args = array_slice(func_get_args(), 1);
        foreach ($handlers as $callbacks) {
            foreach ($callbacks as $callback) {
                $value = call_user_func_array($callback, $args);
                $args[0] = $value;
            }
        }
        return $value;
    }
public static function fireFilter($event, $value) {
        $handlers = self::getHandlers($event);
        if (!$handlers) {
            return $value;
        }

        $args = array_slice(func_get_args(), 1);
        foreach ($handlers as $callbacks) {
            foreach ($callbacks as $callback) {
                $value = call_user_func_array($callback, $args);
                $args[0] = $value;
            }
        }
        return $value;
    }
Chain several event handlers together.

This method will fire the first handler and pass its result as the first argument
to the next event handler and so on. A chained event handler can have more than one parameter,
but must have at least one parameter.

@param string $event The name of the event to fire.
@param mixed $value The value to pass into the filter.
@return mixed The result of the chained event or `$value` if there were no handlers.