please use ::Ptr instead of makeShared () (saves us a copy ;) ).