implement gen servers directly for spawning worker process as the ibrowse functions don't seem to let you pass your own gen server options