Updated `addEventListener` to be more object oriented, and moved feature test to script itself.