Refactor request processor plus improve add listener if pending

This would fix the merge conflict from when add listener if pending (https://github.com/octo-online/robospice/pull/147) is merged in after the refactor of request processor (https://github.com/octo-online/robospice/pull/158)