unit test for Blocked/Cleaning phases; make requestTransition return new phase