Initial commit, after switching to use base-event-dispatcher