Seperation of concerns

Seperate the MSMQ operations from the TaskCompletionSource stuff