Factor out parts of worker constructor into own functions.
Implement simple event pipe.
Implement utility functions required by panel/utils.
Decouple worker from panel inheritance chain.
Remove tests that were testing internal implementation details.
Fix test failures.