refactored to have the status changing handled by the CaseManager.