refactoring(execution): replace event queue approach with listeners

seemed to be over engineered and YAGNI