type = objectと
type = classは
オブジェクト生成の方法や
引数渡しの方法がぜんぜん違うから
そのあたりを調べながらやってみてはどうでしょうか?

大きいライブラリであるほど
焼き直しは大変だと思うけど。