Allow IMessageHandler implementations to handle multiple IMessage types
 * Added test cases for an IMessageHandler handling multiple message types