Use insertText:replacementRange: instead of _replaceCellWithText:
Initial Xcode future-proofing (tested with Xcode 5 DP6).
Added retains and deallocs to work correctly under reference counting.
Moved image update out of async block. Seems to still work and prevents the preview window from flashing in the bottom-left corner of the screen the first time it appears.
Added Completions.plist. Makes it slightly easier to add custom completions other than NSImage/UIImage imageNamed. This is pretty fragile, but it's marginally better than what was there before.
Added CCSprite spriteWithFile as a default completion.