best way to use assets?

suppose i had a game , that already work , physically and logically.
now i want “attach” a character (armature + mesh) to each cube ,

i can import a group (suppose “Batman”(armature+mesh+actions)) then:

A) i should make this group children of cube. (there a way to make this thing in the UI?)
B) then the armature should run its animations.

B has to do with the design , how should be the logic?

  1. the cube say(call) the armature what action run ,
  2. or the armature should understand alone what action run? what method you use?

REMARK:
the goal should be keep the asset reusable (so i not want write directly logic on the armature original otherwise is not more an asset, right?)
and not add too many dependences to the cube (that remember already “work”)

so, since the link objects need to be pretty “ready to use”

i thinked to do:

assets “global” :
> blends that contain basically only model graphics (without logic)
> these can be used in different games but are not ready to use (if need of logic)

assets local:
> object copies of the global assets (not links) to put in the blend asset of a game , with logic for that game (not any game)

level (of a game):
> links group (link of local assets) ready to use

or alternatively (if not there many levels)
assets “global” (without logic)
level (copies with logic)