implement async object updates

fixes #7