Add optional callback argument