add Audit context manager and use VM.id instead of TypeVM.id in tasks