Might be good to turn all of the *Op.new() constructors that have > 3 fields into one with each attribute in a line in a consistent order, i.e.:

    track_usage_fs_op = TrackUsageOp.new(
      user_id: self.domain.owner._id,
      parent_user_id: self.domain.owner.parent_id,
    )

Would greatly improve readability for big complex operations