API refactor. Function returns changed to fully async event listeners.