have the container be the layer of abstraction