Trying to get shared pointer to work, but it's still double deleting the player object