Modified objects to use GEProperty for some values.  Refactored Controllers to be template classes to allow more flexible use.