fixed the bug in the listenLocalOnce implementation
removed some code, simplified the event object and cleaned it up
revised the model code and added so much user tests