updated class names and usage pattern to reflect one object per motor regardless of type