Refactor to allow configurable storage pools