move core functionality from event listeners into fixture manager