Cleaned up the event listening system by using notifications instead of storing and dispatching a block from AudioPlayer