Adding the implementation of the Strategy design pattern