 public struct SafeArray<Element> {
     
     // MARK: - Properties 
-    fileprivate lazy var internalElements = Array<Element>()
-    fileprivate lazy var dispatchQueue: DispatchQueue = DispatchQueue(label: "SafeArray queue")
+    fileprivate var internalElements = Array<Element>()
+    fileprivate var dispatchQueue: DispatchQueue = DispatchQueue(label: "SafeArray queue")
     
     /// Initializer for the SafeArray type
     ///

        return results
    }
    
    public mutating func filter(_ isIncluded: (Element) throws -> Bool) rethrows -> [Element] {
        var results: [Element] = []
        
        try dispatchQueue.sync {

            var elements: [Element] = []
            
            dispatchQueue.sync {
                elements.append(contentsOf: internalElements)
            }
            
            return elements
        }
    }
    
    
    /// Resets the SafeArray. Removes all current elements, and adds all the specified elements
    ///
    /// - Parameter elements: Elements to add to SafeArray
    public mutating func reset(withElements elements: [Element]) {
        
        dispatchQueue.sync {
