JAL-2588 (and JAL-2610, JAL-2603) mid refactor