Added non-rigid transform and a transform observer.

Still a lot work to do to make the observer useful.