All right so let's try to summarize what we've learned about the strategy design pattern and so the
idea is fairly simple.
First of all define your algorithm at a reasonably high level and then you define the interface that
you expect each of the strategies to follow and then you provide for either dynamic or static composition
of strategies in the overall algorithm.