#update - refactor and extract model commonalities
#update - search the index then use the uuid to find the model
#update - return an instantiated model when found
#update - models now maintain their uuids
#fix - enforce unique indices