invitation process can now handle flows like "invite -> reject -> invite -> accept -> remove -> invite ..."
added precondition checks for POST and PUT method bodies
refactored AcceptedDate and BlockedDate to have a common base class