https://myridia.com/dev_posts/view/2389
Anonymous
Separate policy from mechanism, separate interfaces from engines.