gps: keep state position use it to execute partial initialization code, get rid of delay() calls