RFC: ES6 container

[RFC document](https://github.com/MajorBreakfast/rfcs/blob/master/active/0000-es6-container.md)
laziness should be extracted from this RFC, as it pollutes this RFC. The container should remain a synchronous abstraction at all times.