The joint names are just visual as far as I know. Your "muzzleNode" could be "shootNode", "bangbang", or "shootyFromhere" since you're defining the stateEmitterNode in the state you're using said node.
I guess if I say it it can't be true......
hah I'm sorry, but demian explained it better :P
I had a bad case of post blindness and only read OP before responding.