renamed 'trigger' to 'callback'