- def __call__(self, params, rank):
- return self.actions, params
+ def __call__(self, owner, action, params, rank, created=(), repeat=1):
+ Action = action if isinstance(action, type) else type(action)
+ parent = None if owner is None else action
+ child = Action(parent, self.actions, params, rank, repeat)
+ if owner is not None:
+ owner.replace(parent, child)
+ child.step(owner, created)
+ return child