I would go with Brenden's approach, it will remain pretty easy to manage, and also you don't actually have to save anything, whatever data is changed in the before function will be carried over to the save function that Kentico does. If I hooked up a global handler before action, I could then change the value of any field, as long as the value is a valid value for the field type, and then kentico will automatically save it. This will be a lot easier to manage than a custom form control, and will also have a way better user experience, without a ton of work and customization.