ComponentProvider 導入泛型以區別 genComponent() 回傳的資料型態。
這是為了之後 code generator 所做的安排。
也因此，有一些原本使用同一個 provider 的 component，現在必須得拆開各自處理。