An example for the Strategy design pattern