Logic idea details: (Assuming a general "friction" that may or may not be defined by mass/rotation-speed blocks)
Activation blocks can be set up to define the maximum speed of the rotation? (E.g. 2 blocks attached, only 1 active: 50% max rotation speed)
OR logic: removes friction: once set in motion, the attached entity continues to rotate at that speed indefinitely until touched again.
AND logic: once the rotation friction brings the rotation down to a minimal speed, the entity continues to slowly turn until it reaches its original rotation, then stops.
NOT logic: once entity slows to a stop, reverses direction at the same speed and returns to the original rotation, then stops. (Think: Doors with auto-close pneumatic closure box)