Actually, I think it would slightly cleaner if you just used the fields directly. Having the concept of `source` really only matters when there are multiple sources.