Move method
Self Encapsulated Field
Price with State Pattern
Price with State Pattern
Move method
Replace Conditional with Polymorphism