further ui refactor; all events now in ui module. still doesnt feel right, but better