This seems like a pretty light-weight method. Is it worth running on a background thread? Please add comments saying what might slow if that's the case.