This should eliminate any lifetime issues. Ownership stays with the graph BUT readable shared_ptr's should be leased out.