changed abstract service to implement servicelocator instead of servicemanager