Did some serious refactoring and abstracting so I could do more properties.

Now I can do things "by class" fairly seamlessly, for example!
this kind of approach would also go a tremendously long way in refactoring something like spread3.
Added two long timepoints to the delta t's.