Extracting a lot of logic into a separate OfficeServer object