remove type_identifier, use handle instead, update component system