Reorganized component init code to accomodate object pooling