Updates to use events, JSON model, helpers, and clean up code