Make GIF method async, add tests