Alternatively, You could create an ActionHolder class, which stores a pointer to an Action.

Also known as the opaque pointer design pattern.