Strategy pattern - Direct translation from Java to Scala
Removes mutable state
Compile strategy pattern