In a comment via email on D28956 Rafael suggested:
"Would it be possible to add a common base class to PltSection and Ipltsection and share this code?"
This is an attempt to add a common base class PltSectionBase that moves out most of the more complex code into the base class. It is using the same logic and interface as previously.