LPS-51939 unit tests for ChannelImpl
LPS-51939 simplify exception logic for easier test coverage
LPS-51939 only store a notification in memory if no exception is thrown.
LPS-51939 finish tests