Resolves #8: Basic user model