A simple MEL script I wrote to create a NURBS spring with custom (more intelligent) controls. The spring can be used in rigging fairly easily, especially if coupled with a simple expression or two. If you desire more control over the final results, play around with the objects/nodes in the Spring_Control display layer.
If there is sufficient interest, I'll try to make a video showing how to use it in something simple like a piston rig.
I created the script in maya 2013, but it should work in several versions previous as well.