ajax and websockets with deinversion of control