On many project I had to make complicated settings form for custom modules, and I must said it is always a painful experience to declare the settings form extending ConfigFormBase, specially the buildForm and submitForm methods.
For a long time already, I use a custom module of mine where I extend the ConfigFormBase with a more helpful one, where I just have to pass the fields list to save, and some properties. But I still had to build the form.
The module allows for comments/corrections/annotations on each sentence or paragraph on static nodes. Comments/annotation/corrections will appear below the content to which they refer.