Introduce ModelInterface