Rework the compass factory.