A One Shot behavior tree decorator

I am trying to create, what to me is a simple decorator. One that allows the decorated node to execute only once (or perhaps n times) when this tree is executed and then block all subsequent executions of the decorated node until the tree itself is deactivated and reactivated again.

Context : I have multiple trees on an agent, they swap out based on powerups and such (because the behavior in these situations differs wildly sometimes)
What I want to do is add a top level One shot node that executes the first time this tree is selected and then if the agent loses that powerup, unlock this decorator so that if the agent gets the powerup again, then the node is allowed to execute once more (I’m sure you get the idea)

I’ve walked up and down the decorator hierarchy but cant seem to find any notification that would work for this use case. OnActivate / Deactivate & BecomeRelevant / CeaseRelevant all deal with flow within a tree but not overall tree activations / deactvations

What you’re describing can be done using services rather than decorators