DRY, fixing has_one chaining, improves QP enumerable methods