Component Architecture
Abstraction is cool but it MUST be balanced with the "Principle least power"
Use these 3 levels technique to avoid "wrong abstractions" as "least power" is better than the wrong abstraction.