Add support for pooling
Since UI components are assembled programmatically at runtime this generates a hash for each instance to reuse later
Reduces allocations by 75%, increases speed by 95% and should work without any input required by plugin developers