         case message(String?)
     }
 
-    static var stationsWithoutPhoto: [Station] = []
+    static var lastUpdatedAt: Date?
+
+    private static var _stationsWithoutPhoto: [Station] = []
+    static var stationsWithoutPhoto: [Station] {
+        return _stationsWithoutPhoto
+    }
     static var currentStation: Station?
 
     // SQLite properties

            expressionLon <- station.lon,
            expressionHasPhoto <- station.hasPhoto
        ))
    }

    // Update a station
    static func update(station: Station) throws {
        let db = try openConnection()

        try db.run(table.update(
            expressionId <- station.id,
            expressionTitle <- station.title,
            expressionCountry <- station.country,
            expressionLat <- station.lat,
            expressionLon <- station.lon,
            expressionHasPhoto <- station.hasPhoto
        ))
    }

}

    static func removeAll() throws {
        let db = try openConnection()
        try db.run(table.delete())

        lastUpdatedAt = Date()
    }

    // Fetch all stations
    static func fetchAll() throws {
        let db = try openConnection()

        _stationsWithoutPhoto.removeAll()

        for station in try db.prepare(table) {
            let s = Station.from(row: station)
            _stationsWithoutPhoto.append(s)
        }

        lastUpdatedAt = Date()
    }

    // Save a station
