### Description: I noticed that the `Start()` method of `LndChallenger` is called twice during initialization: 1. First call in `NewLndChallenger` ([lnd.go#L68](https://github.com/lightninglabs/aperture/blob/master/challenger/lnd.go#L68)) 2. The second call in `NewLNCChallenger` ([lnc.go#L44](https://github.com/lightninglabs/aperture/blob/master/challenger/lnc.go#L44)) While analyzing the `Start()` method implementation, I found that it: - Initializes invoice state tracking - Creates invoice subscriptions - Starts background goroutines ### Questions: 1. Is this double initialization intentional? 2. If not, should we remove the `Start()` call from `NewLndChallenger` and let the caller handle initialization? I'd appreciate any clarification on the design decision behind this pattern.