add event for return of un-routable immediate and mandatory messages
extract method to reveal strategies
skip checking the configuration when processing outstanding confirms
introduce parameter
inline method
replace constructor with factory method
pull basic publish method up to base class
use configuration to create correct publisher type
move factory method to static factory class
remove conditional
rename method since it is misleading
rename interface since it is misleading
rename factory method since it is misleading
rename factory since it is misleading
register for message returns in base
register for message returns in publisher confirms
remove event handlers when channel changes
refactored to remove duplicate code
create subclass for basic publish, make base abstract
move classes to separate files