@@ -0,0 +1,1073 @@
+package com.edinarobotics.utils.autonomous;%0A%0A/**%0A * This class is used to define a step of an autonomous program.%0A */%0Apublic abstract class AutonomousStep%7B%0A    /**%0A     * Called once when this autonomous step starts.%0A     * This method can be used to initialize any values at the start of this%0A     * step.%0A     */%0A    public void start()%7B%0A        %0A    %7D%0A    %0A    /**%0A     * Called repeatedly while this step is the active step.%0A     * This method should be used for any actions that occur throughout this%0A     * step.%0A     */%0A    public void run()%7B%0A        %0A    %7D%0A    %0A    /**%0A     * Used to indicate whether or not this step is finished.%0A     * Once this method returns %7B@code true%7D %7B@link #stop()%7D will be called%0A     * %0A     * @return %7B@code true%7D if the step is complete, %7B@code false%7D otherwise.%0A     */%0A    public abstract boolean isFinished();%0A    %0A    /**%0A     * Called once when this step is no longer the active step.%0A     * This method is called when this step is finished or if this step%0A     * is interrupted.%0A     */%0A    public void stop()%7B%0A        %0A    %7D%0A%7D%0A

Add AutonomousStep to represent a step of an autonomous program.