Removing calls to  and replacing with GCD calls

I have changed the `performSelector:withObject:afterDelay:` calls with GCD calls instead.
This prevents the developers from having to wrap every call with a dispatch_async on the main thread.