Some high-level planning.
Made the support code a little more magical.