Added component introspection, some other cleanup