added event proxies
updated tests
made array modification more robust and performant