Rename Action to TransitionAction to avoid naming conflict with the existing Action type defined by .NET.