callbacks are closures