What does `callback` expect as parameters? Clarifying interfaces with comments would be helpful here.