Refactored to use composition for WorkbookSupport + some renaming