oauth2 models creation via factory

Implement factory pattern for oauth2 models instantiation, and use
models interface in components - service, repository, etc
oauth2 models creation via factory