#pure-state-pattern