Adds Strategy pattern