Then just decorate the three functions you had before, which will already reduce duplication but maintain readability.