Issue #16: Add user repository.