Any design problem can be solved by adding an additional level of indirection, except for too many levels of indirection. — Cargill’s Quandry, “How to write unmaintainable code”
Any design problem can be solved by adding an additional level of indirection, except for too many levels of indirection.