Upgraded

Made it use event listeners instead. Ability to add and remove event
listeners quickly.