Refactor the ModelInterface interface