in reply to General guidance requested

Depending on how often your calendar is called and how many people are likely to use it, that approach is certainly workable.

For your sanity, I would recommend you invest a little time in learning how to write a module with a sane interface, so you can keep the data access methods in one place. In the future, if it becomes necessary, you can write another module with the same interface to talk to a DBM file or a relational database.

It's much less work that way. It's also good experience.

It would be more efficient and scalable to start with a database, but I'm starting to believe that you shouldn't add complexity you don't (yet) absolutely need.