Refactored to remove some internals from Staff.