basic IoC template and test
listener object, factor out repeated code, use JUL for the main code
reconnecting listener test