After code review by @pwnall.

- remove programmatic API
- make http & https agents public properties