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);
    }