While programming an object that represent a GUI, the class is a mix of code of following sections:
- Overrides of super GUI, for behavior customization
- Implementations of interface contracts, to talk/listen to other GUI objects
- Local event handling methods
- Local data crunching methods
- Code to query/update a remote database and a global object provider
Assuming all this is crammed into one class file, how would you split it into separate files or parent-child classes so that you can delegate these to different developers with minimum dependency on each other?