find object by binary search in game logic
added some shared_ptr and weak_ptr where I thought they were required..