Redo StateWithError to use a Try