Lazy Loading is Easy: Implementing a Rich Domain Model