put more design, and comments, around order in which children are added vs parent set and initializers run
when app is promoted, take some of the fields set at the template level
(but if app is not promoted, don't *reapply* things like location)