refactoring the TabHandling code
This is the first larger change to refactor tab handling code. Most importantly code has been separated into smaller modules and a few methods have been simplified.
This is the first larger change to refactor tab handling code. Most importantly code has been separated into smaller modules and a few methods have been simplified.