Adding design-time support

I'll revert this.

We should either go for the gusto and improve the factoring of this code, or embrace the ugliness and stay similar. since it sounds like neither of us wants to rewrite all of this right now, I'll go for compatible.