Tidy up tests and fix observer set functionality

Return observer sets from union methods.
Add logging and start/stop events to observers
Add logging and refactor some tests
Add listener class and refactor conductor
Add ability to start torkify with tork, and run in a loop