summary: migrate `opts` to native kwargs
This has the added benefit of unconfusing PyCharm- it thought `opts` in the
nested functions were str based for some reason.
public attribute not declared in interfaces: badpeer.badattributepublic attribute not declared in interfaces: badpeer.badmethod