Type-safe string state instead of booleans

A better way to manage state with type safety