[minor] factory pattern to construct driver and logger object
[minor] respond_with helper automatically catch caller method name
[test] create new context for publish message test
[typo] change in log message from publish method