first implementation of messagescoped objects