Event handling made easy using functional reactive programming and cross-browser consistent event models.