add: signals and event listeners
add: onEmptyQueue event
add: onFrame event