After discussion with Sergey at the conference, I think the threading thing is actually not an issue due to the cache referencing the imbuf and free unreferencing it. Also the selection problems were fixed. So I don't have any remaining comments :) http://codereview.appspot.com/5285047/