Issue #37 - Edit a recurring event, automatically edit future ones - move lots more logic into models, ready for extending for special cases