Renamed module MessageProvider to Message and added AbstractMessage class which JsonMessage is subclassing now (and so should XmlMessage).

Also added an on_subscribed method to topic to delay certain actions to a time when we can safely assume the associated topic has been fully registered with the underlying pub/sub system.