Object Pools used for performance boost. Instantiate/Destroy is a little too memory intensive