https://gist.github.com/nivv/5d9a12af5472b91606e6
Anonymous
Separate policy from mechanism, separate interfaces from engines.