Accessing the Crown in WatchOS 8 inside SpriteKit

I am building a SpriteKit based Interface Controller for a Watch page. The page has just a SpriteKite Scene embedded with interface builder. The scene renders and animates just fine. The hierarchy is:

App access
   An InterfaceController (One of many)
      SpriteKit Scene
          "brScene.sks" Graphic layout file
          "brScene.swift" Swift code to support Scene

The problem is accessing the Crown rotation in the brScene.swift. I need the Crown data to control movement of a sprite. This is a problem that has historically been addressed a few times back in the 2015-2016 timeframe for WatchOS 2 and 3, but the earlier solutions appear to all be broken now. Here is what I have tried:

import Foundation
import SpriteKit
import WatchKit

class brScene: SKScene, SKPhysicsContactDelegate, WKCrownDelegate {
       class func newGameScene() -> brScene {
    //Load brScene.sks as SKScene
    guard let scene = SKScene(fileNamed: "brScene.sks") as? brScene else {
        print("Scene Load Failed")
        abort()
    }
    //fill window
    scene.scaleMode = .aspectFill
    
    let wkExtShared = WKExtension.shared()
    let crownSequencer = WKExtension.shared().sharedInterfaceController!.crownSequencer
    crownSequencer.delegate = self  //** Can not assign or cast
    crownSequencer.focus()

    return scene
}

The value of "self" at the failed delegate assignment is "AppChallenge_WatchKit_Extension.brScene". It has no delegate compatibility. Of note, the protocol addition to the brScene Class of WKCrownDelegate is rendered in black by Xcode, not in green like SKPhysicsContactDelegate. I believe I could probably make the page's InterfaceController the delegate for the crown and then post notifications back to the brScene.swift to move the sprite, but that seems highly inelegant and inefficient! What is going on? Any help would be appreciated!