major refactoring to workers so events are only bound once