in reply to Best way to share logging object among multiple objects?

Probably use Moose roles and have the Tests and Actions ask their own Examiner for the dispatcher in the role method, rather than having the dispatcher be contained by the tests and actions themselves. Assuming they know their examiners, something like:
package Logging; #the role use Moose::Role; requires 'examiner'; # ask my examiner, rather than contain this directly. sub dispatcher { return $self->examiner->dispatcher(); } package MyTest; # the test class use Moose; with 'Logging'; #...later... $self->dispatcher->warn("this example might work?");