Event-Driven Applications Using Custom JS Events