Proper design would simplify the implementation. I don't feel any need to assign any particular philosophical label to either the process, or the result.
If aD does a decent job with ACS 4.0 and appear to be heading on a more reasonable path in the future, we'll just port. I call this the "lazy-is-better" philosophy of implementing ACS/pg.