Im happy to help, but only if we keep the tone positive… too much negativity in the world, i avoid it!
humble suggestion, Id focus on one at a time - I learnt so much from each plugin I wrote, that I ended up almost rewriting each of them, after Id created a few - not just the technical side, but also finding a UX that suited me.
that said, I will say this seems a simpler module, than your other, so perhaps is a better first module 
my source code is already 100% open sourced… so you are free to use.
note: I just added AGPLv3 license, used due to JUCE dependancy/license.
unfortunately, as you’ll see its not quite as simple as just using the midi page, as you have to change where things like button messages are routed, and start capturing parameters (for learn), theres a few different things going on. not ‘difficult’ but requires a bit of architecture.
so your choices are :
a) look at my code, and use it as ‘inspiration’.
you might be able to take code snippets, or just see how it works - then implement your own form of it.
if you have simple requirements, this could be straightforward.
but as things get more complex, you may stumble into issues which my framework already had to address.
but, its not a bad first step!
btw: SystemEditor is basically where this is done.
b) start using my ‘framework’
as my code is open source, you could use my framework, which cover this.
my plugins are all built the same way off this framework, so basically when I want to create a new plugin all I do is copy a simpler one as a starting template, edit a few things, and off I go, and my plugins are consistent enough, this is very simple… and I get things like midi support for free.
(just don’t use SWAT/TRAX/DUAL as these are very special cases)
ofc, thats easy for me to say, as I know the framework etc, and whats needed to do, but it is ‘undocumented’ 
perhaps the easier approach would be for you to look at my RNBO templatee
this has the same framework, but is already stripped down, and has scripts to create new modules, even without my ‘branding’.
and, whilst it was built for RNBO, thats really just the scripts/templating, nothing intrinsically is tied to RNBO ! - see my topic on this forum about ‘how to use’, and build initial demo etc.
if you looked at the (generated) demo, it’ll be obvious the RNBO bits, so you can just strip those out and add your own custom code.
its not quite the same, as I do, but its likely simpler, than looking at my plugins.
(and if you get familiar with this rnbo template code, it would help you understand my main repo, as its the same framework)
important notes:
I do not ‘support’ this framework, nor accept changes - its a personal framework,
but you can use as-is, and adapt if you wish.
sorry, but I just don’t have the time (I work on lots of projects) to start helping out.
also, I do make sweeping changes occasionally, and updated my plugins - so dont expect updates / backwards compatibility.
this creates a risk for you, as its more code you are unfamiliar with, and have to get to grips with.
Id not say its overly complex, but hard to say, as I created it, so obviously know its ins and outs.
ofc, if you use my code, then I expect accreditation and a link back to my repo
…as is normal with open source code.
again, its not what I don’t want you to use my code, rather I just want to set expectations.
Which path?
the framework does cover quite a few features, and handle a f ew oddities, and is pretty flexible, is not completely ‘agnostic’. I use it so that my plugins have some consistency.
great for me, different developers have different ‘tastes’.
also bringing in a framework, means you bring in a lot of code that you are unfamiliar with, and that code is ‘custom’ and undocumented (unlike say Juce), and I cannot support it.
so thats a big trade off…
it depends how much you value expediency really…
I personally, tend to avoid others frameworks, for these reason, but others think differently.
its why I share what I do … give other developers options, either to use as inspiration, or to take wholesale and make it their own.
Probably what I would do is…
look at my RNBO project, and create the demo module.
this will give you a nice small code base to look at using my framework, without too many bells n’ whistles. you can use that to see how it all ‘hangs together’ and see if can you strip out the bare minimum to get what you need. I suspect mostly its the classes in modules/common., modules/common/ssp.
sorry, I know this is more complicated that just ‘here, use this class’,
and whilst, Id love to say, sure, I’ll help you use my framework, lets make it work - I just dont have the time, so need to set realistic expectations.
that said, if you just need simple midi input, it may be just easier to see how I achieve this and go from there and do it yourself, and so keep complexity to a minimum.
good luck , have fun…