Domain model and tests.