I'm no templating wizard, but couldn't a_New be a const reference? Passing by value will cause a copy of the object to be created, won't it?