Updated subscriber interface to support message replay

Previously, a callback did not know what topic it was receiving messages from. 

Now, the callback gets to parameters; the message, and the topicname that the message was published by. 

I'm not sure I'm happy with how this turned out, but I think it will be ok.