Strategy desugn pattern.