Hi,
you can go a long way withotu going for sub fsm. I suggest you tackle this when you will have more confidence into the right design patterns in playmaker,
It doens't reallc make a difference where you will put the logic, since fsm can communicate with each other.
I for example, tend to create a "META" fsm, to hold variables, and then have fsm spreaded around my hierarchy for my player that all get and set varaibles in that meta fsm.
This way, external systems ( ennemies, environment) only have to interact with the "META" and not care about the implementation within the player hiearchy
I even go into creating a emtpy gameObject just to hold this "meta", then what ever of the type of player or agent, I stick to that structure and know I will find a meta fsm that I can query with a common api I will have defined.
bye,
Jean