Pergunta de design: Como você projetaria um sistema de eventos recorrentes? [fechadas]

Se você fosse encarregado de criar um sistema de agendamento de eventos que suportasse eventos recorrentes, como você faria isso? Como você lida quando um evento recorrente é removido? Como você pode ver quando os eventos futuros irão acontecer?

Ou seja, ao criar um evento, você pode escolher "repetindo diariamente" (ou semanalmente, anualmente, etc).

Um design por resposta por favor. Estou acostumado com Ruby / Rails, mas uso o que você quiser para expressar o design.

Fui perguntado isso em uma entrevista, e não consegui encontrar uma resposta muito boa que eu gostasse.

Nota: foijá perguntou / respondeu aqui. Mas eu esperava obter alguns detalhes mais práticos, conforme detalhado abaixo:

Se fosse necessário comentar ou adicionar dados a apenas uma instância do evento recorrente, como isso funcionaria?Como as mudanças e exclusões de eventos funcionariam?Como você calcula quando eventos futuros acontecem?