I really like the idea of our own form composition DSL. Even if there ends up being no re-use (which is not the case, we collect dates and addresses all over the place) then it means we are using an abstraction closer to our problem area.