When building a HTML5 web video player, it tends to need a user interface, quality of service tracking, user interaction tracking, and sometimes ad tracking. To achieve this, the HTML5 Media Event standard needs to be interpreted. After building multiple web video players, and having worked on more than one iteration of an event interpreter, something didn’t feel right.