Yeah. My primitive prototype simply added new elements, attributes, and changed default values. I am afraid that a more general solution will take more a few more kicks.
Don