Factor out editable control as a subinterface