Refactored data model.
Added hashed passwords and tests.