<?php

namespace Refinery29\Piston\Middleware;

use Refinery29\Piston\Response;

abstract class PipelineProcessor
{
    /**
     * @param Subject $subject
     *
     * @return Response
     */
    public static function processPipeline(Subject $subject)
    {
        $response = $subject->getSubject()
            ->buildPipeline()
            ->process($subject);

        return $response instanceof Response ? $response : $subject->getResponse();
    }
}

<?php

namespace Refinery29\Piston\Middleware;

use Refinery29\Piston\Response;

class PipelineProcessor
{
    /**
     * @param Subject $subject
     *
     * @return Response
     */
    public function processPipeline(Subject $subject)
    {
        $response = $subject->getSubject()
            ->buildPipeline()
            ->process($subject);

        return $response instanceof Response ? $response : $subject->getResponse();
    }
}

--- 
+++ 
@@ -4,14 +4,14 @@
 
 use Refinery29\Piston\Response;
 
-class PipelineProcessor
+abstract class PipelineProcessor
 {
     /**
      * @param Subject $subject
      *
      * @return Response
      */
-    public function processPipeline(Subject $subject)
+    public static function processPipeline(Subject $subject)
     {
         $response = $subject->getSubject()
             ->buildPipeline()
Make class abstract, function static
