let prefetch_and_create_state name =
if (Hashtbl.mem prefetched_states name) or not (Hashtbl.mem observed_states name) then
begin
let s= fetch_and_create_state name in
Hashtbl.add prefetched_states name name;
s
end
else
(fetch_and_create_state name)