One of the design ideas behind Monitors is that it is an implementation detail, and should not be depended upon by implementation. Instead they should take an implementation of their Monitor interface as constructor argument, so that while in testing you can easily put in a mock or a custom impl.