JAL-1667 refactoring to support JAL-1668