 
   if (EStop == true) {
     currentStatus = E_STOPPED;
+    currentWinchStatus = STOPPED;
+    currentConveyorStatus = STOPPED;
   } 
   else {
     currentStatus = STOPPED;
+    currentWinchStatus = STOPPED;
+    currentConveyorStatus = STOPPED;
   }
 
   //Stop all motors 
+  const int speed = 0;
+  for(int motorID = 0; motorID <= 14; ++motorID) {
+    driveClockwise(motorID, speed);
+  }
+}
+
+/**
+ * Stops the movement motors (Articulation and Wheels) and chages the current state to reflect the stop.
+ */
+void stopMovementMotors() {
+    currentStatus = STOPPED;
+
+  //Stop all movement (drive and articulation) motors 
   const int speed = 0;
   for(int motorID = 0; motorID <= 11; ++motorID) {
     driveClockwise(motorID, speed);
   }
-
-}
+}
+
 
 void driveConveyor(){
   if(conveyorRotationTime < 0){

  } 
  
  if(currentConveyorStatus == START_ROTATING_CONVEYOR){
    conveyorStopTime = millis() + (long)conveyorRotationTime;   
    driveConveyor();
    currentConveyorStatus = ROTATING_CONVEYOR;
  }

  }
  
  if(currentWinchStatus == START_ROTATING_WINCH){
    winchStopTime = millis() + (long)abs(winchRotationTime);   
    driveWinch();
    currentWinchStatus = ROTATING_CONVEYOR;
  }
