Refined the non-intrusive example. The target class no longer needs public data members.
Change the type of the return value to a const reference
Merge branch 'refine_non_intrusive_example'