Currently if you provide an instance of an Action to be visited more than once it will be and that breaks the assumption of one time use of some Actions like ExecuteProcess.
Instead Actions should declare if they're reusable or not (default to not probably) and then get an appropriate error when they are accidentally reused.
Follow up of #90 (comment)