プログレスバーの表示

サービスの進行状況をプログレスバーで表示したいときは、
サービスのメソッドにリスナーを渡す方法で良いのだろうか??

  try {
    Service service = (Service)container.getComponent(Service.class);
    service.export(item, this); // thisはリスナー
  } catch (Exception e) {
   log.error(e.getMessage(), e);
   // エラーダイアログを表示
  }

// implements ProcessListener
public void updateProcess(ProcessEvent event) {

}

それともシングルトンなイベント管理オブジェクトにリスナー登録して、
サービスのメソッドではリスナーを渡さない方が良い?

いまんとこ最初の案で、やっていますがいかがなもんでしょう??