public function execute($passable, callable $destination)
    {
        $first = function ($passable) use ($destination) {
            return call_user_func($destination, $passable);
        };

        $pipes = array_reverse($this->pipes);

        return call_user_func(array_reduce($pipes, $this->getSlice(), $first), $passable);
    }
public function execute($passable, callable $destination)
    {
        $first = function ($passable) use ($destination) {
            return call_user_func($destination, $passable);
        };

        $pipes = array_reverse($this->pipes);

        return call_user_func(array_reduce($pipes, $this->getSlice(), $first), $passable);
    }
public function execute ( $ passable , callable $ destination ) { $ first = function ( $ passable ) use ( $ destination ) { return call_user_func ( $ destination , $ passable ) ; } ; $ pipes = array_reverse ( $ this -> pipes ) ; return call_user_func ( array_reduce ( $ pipes , $ this -> getSlice ( ) , $ first ) , $ passable ) ; }
Run the pipeline.

@param mixed    $passable    the item to send through the pipeline
@param callable $destination the final distination callback

@return mixed
Run the pipeline .