JS library that enables promises on object functions if you use a certain pattern