strategy interface
Merge branch 'local' of https://github.com/estcab/design-patterns