First implementation of minimal Broker API

I'm not sure if I would label this an event already. As I said time and again in previous discussions, for me "event driven architecture" and "messaging API" are two vastly different things. A message is a neat way to communicate an event over a network (or internally in a single box if need-be). Yet, an event does not have to be encoded as a message. Hence, if this is intended to be the base class of all "stuff we want to send via network" it should be named Message (or better still, something like MessageBase or MessageInterface to indicate its base class status).