Pulled update logic out of room