Added a model registry to make circular references easier to define