Introduce components pools
Cleanup
Refactor pools handling using collection