refactored service registry and strategy base to use interface