Refactored determining the destination address
Refactored handling of sender's callback address
Split up dequeue strategy. Extracted receive strategies
Refactored ReceiveResult
Extracted purging