У модели есть статус. Статус - enum. Необходимо изменить статус на другой согласно политике. То есть со статуса "A" нужно перейти на статус "B", но не наоборот и т.д.. Насколько удачным решением будет реализовать это через флаги? То есть "A" имеет флаг "toB", "B" имеет "toC, toD", но не имеет "toA". Нужно изменить статус "A" на "B" - проверяю статус модели "A" на наличие флага "toB" и в случае удачи заменяю "A" на "B". То есть будет еще некий механизм, связывающий "A" с "toA" и т.д.