インターフェイスを共通にするというのは良いとしても、コールバック関数で済むことなら個人的にはわざわざオブジェクトにはしたくないとやっぱり思っちゃうかな。
Pythonならユーザー定義クラスを作って継承するなりtyping.Protocolを使うなりすることはできるけど、特に状態管理が必要な場合等でなければコールバック関数の方が好ましいと思っちゃうな。