story
Your calendar can store the GMT time for lookups but it will need to recalculate this if the timezone data changes.
Furthermore it isn't as simple as "storing GMT" for repeating events. As the offset will be different for different occurrences. So you need to store the original timezone for the recurrence rule. (And see the above problem about the absolute time of a current local time being unknowable)