Refactored context flow so providers can provide an opaque state object at attach that is returned during detach.