In terms of the MVC paradigm, what are two advantages of implementing the layer of a Salesforce application using Aura Component-based development over Visualforce?
A. Self-contained and reusable units of an application
B. Automatic code generation
C. Server-side run-time debugging
D. Rich component ecosystem