http://boredzo.org/blog/archives/2010-02-13/easy-main-thread-performing-category