Alter Ego: State pattern implementation for Ruby | Heykuki News