Create separate class for making event modifications

WIP: should update unit tests before merging. Created pull request already for feedback.

Separate class simplifies the manager code a bit and should allow later better to make modifications else than main even, i.e. adding exceptions to recurring events. See commits for details.
Maybe expand this explanation a bit :).

I guess the comment means that  passing a null parameter will create a new event, and passing an existing event as parameter will create an event modification object that modifies the parameter event?