Implemented abstract repository & abstract service to use composite components.
Merge branch 'origin/master'