We are going to explore the pros and cons of using the State Design Pattern (See Part 1 for implementation). Then, we will write the same code using features that are native to Rust and compare the implementations (Ch 17 Section 3 of "The Rust Programming" Book).