http://archive09.linux.com/articles/113978
Anonymous
Separate policy from mechanism, separate interfaces from engines.