add ability to subscribe to interface messages.

Make message type factories pluggable.
Merge pull request #26 from jonnii/interface-messages

Ability to subscribe to interfaces