Adding more complete full-window support classes, along with necessary refactoring.