Extend use of weak_ptr (refs #121)