[Refactor] create pool address manager interface
This switches the pool address manager from a struct to an interface. Doing so makes it easy to write tests for other structs that utilize the pool address manager in their own tests.
This switches the pool address manager from a struct to an interface. Doing so makes it easy to write tests for other structs that utilize the pool address manager in their own tests.