Survey Propagation Revisited