Add make_service function.
Reorganise headers to reflect LEWG feedback.