Refactoring long polling transport to be able to fix bug #3227

nice :)