     }
     #endif
 
-    @objc internal func addObservers() {
+    @objc internal func setupObservers() {
         guard let player = player else { return }
         self.observers += [
             view.observe(\.bounds) { [weak self] view, _ in self?.maximizePlayer(within: view) },

            player.observe(\.timeControlStatus) { [weak self] player, _ in self?.triggerStallingIfNeeded(player) },
            player.observe(\.rate, options: .prior) { [weak self] player, changes in self?.handlePlayerRateChanged(player, changes) },
        ]

        NotificationCenter.default.addObserver(
            self,


        asset.wait(for: .characteristics, then: selectDefaultMediaOptionIfNeeded)
        asset.wait(for: .duration, then: durationAvailable)
        setupObservers()
        addObservers()
    }

