Optimizing dispatch

Dispatch async main only if needed