Refactored compass extension support.