document reason for wrapping agent loop in closure
add service start