Experimented with casting to events, however, the syntax is more clunky in practice