How does a pool object create the item object? I don't see any sort of factory method.