References to shared pointers cause issues with the lifetime of pointers, which have exposed bugs in certain parts of our code (e.g. services).