As you may or may not know, I hate state machines. I think they're ugly code typically wrapped with too much abstraction, which leads to bad design. I'd like to have a clean implementation where I don't have to worry about states interfering with each other and that type of thing. If possible, I'd prefer to do this in custom resources rather than directly in the scene tree, but if it's not possible or not practical, then in the scene tree itself is absolutely fine.