A JS Object extension class which adds asynchronous functions to Objects as well as firing events on field change