 	}
 	
 	public init(value : T) {
-		self._value = value
+		self.value = value
 	}
 	
 	public func setValue(value : T) {
-		_value = value
-	}
-	
-	private(set) var _value : T? {
+		self.value = value
+	}
+	
+	private(set) var value : T? {
 		didSet {
 			notifyListeners()
 		}

	private var listeners : [T -> Void] = []
	
	public func getValue(callback : T -> Void) {
		if let value = _value {
			callback(value)
		} else {
			listeners.append(callback)

	
	private func notifyListeners() {
		for callback in listeners {
			callback(value!)
		}
		
		listeners = []
