I'm not sure what injection you're referring to in that commit. How are the accessibility changes related to splitting out menubaritem? I'm not talking about variable names, I'm talking about the level of indirection (pulling options form the parent widget); the creation of new widgets that we don't event want to expose; the creation of a function to access a single, unprocessed, option; the extremely verbose naming of a function; etc.

There's a difference between procedural code and long functions. I'm still not sure what specific problems you're trying to fix. You said this "shows a much nicer initialization process". The initialization process doesn't seem to have changed much, other than being split into a ton of functions. You say the benefit comes from having "a class that manages all the setup and event application logic." That's what menubar is.