workflow: categorize callback listeners