Logging api

Refactorings to support testing logging interface. @bernerdschaefer @peterbourgon 
I second @peterbourgon sentiment. All information needed to understand the meaning of those channels and what types they carry are graspable with one look.