Using the Strategy pattern in an algorithm design