  
  `TaskQueue` has a custom delegate which can be used to monitor certain events
  in `TaskQueue` lifecycle. See `TaskQueueDelegate` for more information
-
-*/
+ 
+ */
 public class TaskQueue: NSOperationQueue {
     
     /**

     let task = SomeTask()
     TaskQueue.main.addTask(task)
     ```
    */
    public static var main: TaskQueue = {
        let queue = TaskQueue()
        queue.underlyingQueue = dispatch_get_main_queue()

    public func addTasks<T>(tasks: [Task<T>]) {
        _ = tasks.map { addTask($0) }
    }

    /**
     Retries task execution. Method will decrease task retry count, set task
     state to `Initialized` and add it to the queue again.
     
     - Parameter task: Task to be retried
     */
    func retry<T>(task task: Task<T>) {
        do {
            try task.decreaseRetryCount()
