Custom Data Object Service & Controller Conversion

Fixes #140. Provides a service to perform the heavy lifting for interacting with custom data objects.  The controllers that interact with custom data objects have not been converted to use the service.  The changes reduce duplicate code as well as increase overall performance.