  ```
  */
 public class P3OperationQueue: OperationQueue {
-    /// Singleton object for `OperationQueue`. **Use carefully**.
-    public static let sharedQueue = OperationQueue()
-    
     /// The `OperationQueue`'s instance delegate.
     /// - SeeAlso: `protocol OperationQueueDelegate`
     weak var delegate: P3OperationQueueDelegate?

            operation.add { [weak self, weak operation] in
                guard let queue = self, let operation = operation else { return }
                queue.delegate?.operationQueue?(operationQueue: queue, operationDidFinish: operation, withErrors: [])
            }
        }
        

                produceHandler: { [weak self] in
                    self?.addOperation($1)
                },
                finishHandler: {[weak self] finishedOperation, errors in
                    if let q = self {
                        q.delegate?.operationQueue?(operationQueue: q, operationDidFinish: finishedOperation, withErrors: errors)
                        finishedOperation.dependencies.forEach {
                            finishedOperation.removeDependency($0)
                        }
                    }
                }
            )
