Issue #29 Transition is now really from -> to
 - current thread always sees the "bigger" value
 - failure == revert