Make source a first-class citizen in render_component