Ref T4100. I want to reduce the amount of code duplication that function datasources currently need to wrap some parameter datasource.
For example, ProjectMembersDatasource should really just be a little bit of logic on top of ProjectsDatasource, which should do most of the heavy lifting.
Moving rendering into datasources brings us a step closer to being able to do this.