Handle state once, give nicer messages on success