Handling Edge Cases - State Design & Transition Functions | OneNoughtOne