     @discardableResult
     func startUpdatingHeading() -> AnyPublisher<CLHeading, CLError> {
         service.startUpdatingHeading()
-        return headingPublisher
+        return publisher()
     }
 
     /// Stops the generation of heading updates.

    @discardableResult
    func startMonitoringSignificantLocationChanges() -> AnyPublisher<CLLocation, CLError> {
        service.startMonitoringSignificantLocationChanges()
        return locationPublisher
    }

    /// Stops the delivery of location events based on significant location changes.

        // Handle authorized and exit
        guard !isAuthorized(for: type) else {
            Self.authorizationSubject.send(true)
            return publisher()
        }

        // Request appropiate authorization before exit
