Specification of the stage behavior
run( {module :: atom(), type :: atom(), name :: atom(), opts :: %{}}, input :: any() ) :: {:cont | :halt, any()}