Properly type Component etc.