Container Learns: Factory injections

- [ ] improve commit messages
- [ ] I'm sure api/docs need to be updated
- [ ] add a notice somewhere about how idempotent re-renders have changed
- [ ] add examples to this PR
- [ ] fix the issues not yet discovered.