Refactored - created type-based model, dto, and service abstract and
interfaces