Extract Action#class.superclass to Action.action_class
Use id instead of object reference for plan_step in action

Also, we don't need to store run_step in action, just output_reference
Whitespace - one-line hash
Use attribute instead of instance variable when possible
Whitespace - multiline method calls chain
Protected methods instead of private for overriden methods