Per-source generator expression refactoring
This refactoring is done in preparation of adding generator expression support to more source properties.
This refactoring is done in preparation of adding generator expression support to more source properties.