This article will help turn large problems into small ones, identify a language that efficiently expresses the class of problems, and apply the pattern to connect expressions in the language into the final environment in which the problem is to be solved.