Хм, может я все слишком усложнила и не надо было писать все так булетпруфно изначально. Сделать непосредственно под предложенные в примере образцы, а мол в 3 уже нарастить до использования Object
Почему бы не написать модуль для логирования и не экстендить им любой класс? Будет весьма dry