added first draft for a messagebus