Allows the use also if there is no shared pointer around, as those cannot really be cleanly created on objects you don't own.