Make and model search story acceptance test.

Some refactoring.
Testing and fixing equals and hashCodes.