Does the first argument go with `gen_name(Service)` somewhere far below? If so, the function can (and should) take only two arguments so users don't trip up.