Continuing with the refactoring of 1) separating web service/db/business functions 2) using generic base types to reduce the code size.