Initial Commit : Add and Remove Events, needs more work on logic.