Guard access to the shared_ptr via new backend() method (issue #76)

The shared_ptr in the ImplContainer is not yet private, this will follow in a second step because it involves changing many more places.