rename container to wrap. i think wrap makes more sense considering what this framework should be used for