type Transformer = Request => Request object OptimusPrime extends Transformer { def apply(req: Request) = req } object Megatron extends Transformer { def apply(req: Request) = throw new RuntimeException("Invalid operation!")}