clean up nasty thunk inheritance and instead implement a promise-like structure
Release 0.2.2