Yes agreed.  Much nicer than the way I was doing it (relying on canApply checking cleanly)