Thank you for your answer :)
Do some research on modeling languages for behaviors and behavior trees.
I am not quite sure what I can achieve with behavior trees in the context of removing dependencies, can you maybe elaborate or share a link?
Don’t destroy actions, cache them for later use.
Sounds reasonable. I just hope I don't over-engineer the caching algorithm.