Structuring reusable form components for multiple users

You can still get the best of both worlds. Common code can often be moved to separate modules, and invoked by as many different forms as needed.