Return new instance, fluent/chaining style

Done as an example, not sure I'll merge this in.