Spinner refactored into service