Generalize recipe so it can be applied to other similar services