Refactored models to use new traits.
Added unique name trait.