Added get_peers + caching + support multiple callbacks