Implement the event system for more intuitive event control