I'm thinking that at this point we should try to get rid of this `source` property somehow, and have some other semantic way of figuring out what we need for the template. I'll look into that if I get to the next phase of the refactoring today.