could you return to the calling queue?
1) Get the current queue before entering self.writingQueue
2) use the stored queue to complete rather than mainQueue