move some shared actions code into actionsperformer class