Split out common keypath code to it's own function