changed several instances of Component in generics to Type. I wish there were a way to specify a certain class without checking (c is Component)