Renamed `peer` to `agent`
Implemented a `defaultServiceManager`. Added more docs