Replace passing caller & proxies to python with a single environment object that contains the proxies and abstracts logging to allow for a replacement logging framework in future. Closes gh-9