Qual é a melhor maneira de modelar eventos recorrentes em um aplicativo de calendário?

Estou criando um aplicativo de calendário de grupo que precisa oferecer suporte a eventos recorrentes, mas todas as soluções que eu tenho para lidar com esses eventos parecem um hack. Posso limitar o quão à frente se pode olhar e depois gerar todos os eventos de uma só vez. Ou posso armazenar os...