Adapter fixes and full handler refactor

finished this last night but forgot to push. This fixes a couple things in each handler around handling replies. It also completely refactors how handlers work, while still retaining the full compatibility of previous versions. :beers: