Interface cleanup

Reworked the Pool class to take advantage of the new interfaces.