isdeleted, isprivate, and ispublished are all mutually exclusive states. If we represent this as a single enum type field in the DB, it would drastically simplify most of our DB operations and queries on games. It would let us share code much more easily.
We could even move "pending deletion" to this state field, and have a "lastStateChange" db field and check if 14 days have passed.