This issue has been reworked. The original issue was too broad and will require to great of a time commitment. We will not split the current code into several plugins at this time. There may be limited renaming and shuffling files to new packages. Moving forward, we want to structure the code base to allow splitting code into plugins later.