Energy cost of moving large structures small increments was reduced by not charging for overlaps between origin and destination.  I think this will still need to be reduced.
Streamlined moveShape and renamed it to performMove to differentiate it.