The Core domain concepts expressed as interfaces and generic implementations.