Validate circular references
Validate circular references last
simplify API to build fields. Pass internal model to access model name
For now, validate that references are not to self