minor refactoring in main
minor refactoring in facade
add bus disconnection when unexpected exception occurs
refactor ami_client tests to avoid tinkering with internals of class under test