Refactor to use localized direct event triggers (not Socket.io)
This makes everything MUCH faster for huge datasets. Also includes listener cleanup function.