Of course later I want to get rid of the boilerplate code. Which means your suggestions are very welcome. However I think I'll probably keep the split between form using builders and distinct method with event handlers. I'll see what fits best at the end