extract interface for async trigger classes