Messaging support

The parser and source classes support messaging by registering observer
classes. These must implement the wic.message.MessageListener trait
Parser & Source implement MessageProducer trait