First draft of configuration proposal.

@smarterclayton 
Starting point for discussion. Feedback welcome. Also let me know where you'd like more detail.
Depends on what the "stack" is.  As above it could be that when you define configs that are inherently unreconcilable (no intermediate state) what you should be doing is creating an intermediate config.  Much like schema change, where you have four fundamental phases:

1. Old code present and writing old schema
2. New and old code present and reading/writing old schema
3. New code present and reading old schema and writing new schema
4. New code present present and reading/writing new schema