Schedule request cleanup after handlers have run

Otherwise the #finish might run before
KeepAlive#synchronize_response has returned.
Split struct creation from other code