utility library now returns ui::Event instead of pointer