I realized you copied this code over from a different implementation, but could we clean this up?  This setting of a global `logger` based on a local `globalLogger` is weird.  I think the factory should be setting the global `logger` variable and not bother passing it to `handle()`.

Hmm... additionally, no code appears to be using `logger` or `globalLogger`, so consider just ripping all that junk out :smile:.