Remove stupid abstraction
AbstractController
ChainMatcher and Spec