 /** Is in charge of accounts */
 public class AccountController: NSObject, AccountDelegate {
     /** Queue used for refreshing accounts */
-    let requestQueue = NSOperationQueue()
+    lazy var requestQueue : NSOperationQueue = {
+        let queue = NSOperationQueue()
+        
+        queue.maxConcurrentOperationCount = 1
+        
+        return queue
+        }()
 
     /** Update interval for fetching data once in a while */
     let updateInterval: NSTimeInterval = 60 /* minutes */ * 60 /* seconds */


                    for reservation in result.reservations as [AWSEC2Reservation] {
                        for instance in reservation.instances as [AWSEC2Instance]{
                            println("Found instance: \(instance.instanceId)")
                            atLeastOneInstance = true
                            
                            var name = instance.instanceId

        for (index, account) in enumerate(accounts) {
            account.delegate = self
            self.updateAccountAtIndex(index, account: account, callback: { (error, account) -> Void in
                self.saveAccounts()
            })
        }
    }
    
    public func didAddAccountInstance(account: Account, instanceIndex: Int) {
        notifyObservers { (observer) -> Void in
            observer.didAddAccountInstance(self, index: find(self.accounts, account)!, instanceIndex: instanceIndex)
        }
    }
    
    public func didUpdateAccountInstance(account: Account, instanceIndex: Int) {
        notifyObservers { (observer) -> Void in
            observer.didUpdateAccountInstance(self, index: find(self.accounts, account)!, instanceIndex: instanceIndex)
        }
    }
    
    public func didDeleteAccountInstance(account: Account, instanceIndex: Int) {
        notifyObservers { (observer) -> Void in
            observer.didDeleteAccountInstance(self, index: find(self.accounts, account)!, instanceIndex: instanceIndex)
        }
