Currently in Client.pyx, the PyClient class has a single attr that is a pointer to an IClient. This pointer should be unique and is owned by the class (e.g. the memory is cleaned up on object destruction). Both of these invariants can be better expressed with a std::unique_ptr, we should change over to it. This has the bonus condition that we likely can remove the __dealloc__ block from the PyClient entirely.
Currently in
Client.pyx, thePyClientclass has a single attr that is a pointer to anIClient. This pointer should be unique and is owned by the class (e.g. the memory is cleaned up on object destruction). Both of these invariants can be better expressed with astd::unique_ptr, we should change over to it. This has the bonus condition that we likely can remove the__dealloc__block from thePyCliententirely.