allow scope to take an arbitrary amount of callbacks