MessageLoop: simplified source handling via a TypedMessageChannel