Huh? "Programmers"? I'm super dense and basic, but:
1) Create Object null
2) Add "direction" add "velocity" add ["etc"]
2.1) Track Object
2.2) If collision detected, jump to 4
3) Define object either "pedestrian" "bicycle" "car" ["etc"]
3.1) If dangerous pedestrian, avoid [etc], if undefined, jump to 2 (thus keeping existing object data)
4) avoid!!!
but they instead did 3) 1) 2) or such like and it kept failing at 3, so never even got to 2. If going 1) 2) 3), you could still work with the data, even if 3 fails.