Properly implements NSCopying. Adds fetchCurrentUser