I think I figured out the solution for properties, and I like the way it works now. I put the description in https://github.com/apache/jmeter/pull/6199, and I think the solution is more-or-less ready to go.
For instance, BeanShellSamplerGui, OpenModelThreadGroupGui become much simpler as they no longer need to implement configure, modifyTestElement, and clearGui methods (see the PR). There are missing bits like adding javadocs, and selecting the class and method names, however, it would be great if somebody could test if the PR fixes their workflows/scripts. Vladimir