eliminate interface{} from public api aside from trace formatting

Change-Id: I7f7def6ff2cb8dab246f6a299c861e364d3f35f0
Signed-off-by: Seth Hoenig <seth.a.hoenig@gmail.com>
prove a reference to client in callbacks

Change-Id: I45284f45a9fd956d6dc468fa53818b4b28c53f3c
Signed-off-by: Seth Hoenig <seth.a.hoenig@gmail.com>