making MessageProcessorChain abstract