changed the signature of IChannel.Send, source and key headers are being sent correctly
very elementary code for the EventAggregator
EventAggregator is registered as a singleton
retrofitted some test coverage onto ServiceBus.Send()
extracting EnvelopeSender out of ServiceBus, added Envelope.ForResponse() method
tightened up ChannelRouter, changed it to accept Envelope, made it respect Destination header value