Definir 1 único construtor como private() e criar contrutores indiretos para os vários tipos de pedidos (get, post, put)
distinguir timeout de read(socket) e de conexão
Usar o design pattern de Command em vez de usar 1 interface na classe que cria o pedido (qlq interface passa a ser um objecto no AsyncHttpRequest) > permite definir o compotamento para diferentes pedidos dentro de uma mesma classe com maior claridade e sem gastar processamento e espaço a verificar variáveis de estado.
Usar utilitários mais leves que o Spring
outros melhoramentos ...
Alterar todo o restante código de forma a ser compativel com a nova implementação.