Added type parameter allowing to specify concrete User model implementation.