Breaking the delegate callbacks up so the UI responds immediately