The community maintained version seems to work okay most of the time, but you're correct a better solution is needed.