WIP: add AsyncWrap class