Use our own promise to work around @netty pipeline issues