Add splitter and joiner templates
Add immutable and fluent extensions