Pooling and configuration of complex objects built out of simpler ones.

Aswell as various easy fixes to get everything working