Commonalized service/data access to avoid imposing usage semantics on the consumer
Cleaned up warnings
Enabled warnings as errors on all projects