two issues:
1) when using on_main_thread to decorate an objc method, create_objc_class thinks there are no arguments. I think @dgelessus has pointed out the issue with wraps not being correct. Not sure if on_main_thread is needed on things that get called from the main thread anyway?
2) the methods argument does not seem to allow instance methods. (raised an exception when adding, complaining of the extra argument, which was self). I believe the code needs to toss out the first (self) argspec.arg for methods that have an __im_func__ attribute.