Refactor Messaging~Operations type hierarchy and add receive methods to ~MessagingTemplate impl classes