Goal: keep instances in state when they are terminal and shall be re-scheduled. Benefit: easier debugging and consistent association from tasks to an instance that has an identity. Launch new Tasks for the same instance and append an attempt count like we do for Resident Tasks.
Side goal: make offer matching based on actual instances or operations instead of an ephemeral count. When Marathon decides that an instance needs to be created/scheduled, that knowledge should be wrapped instead of only increasing a count on the launchQueue.