Update to the new adapter style
Fix to meet new specification

This sucks for performance, we need to make this better.
Remove hackyness and use asap not next-tick