         socket.disconnect(forceTimeout: WebSocketClient.disconnectTimeout)
     }
 
-    func requestColor() -> Optional<Error> {
+    func requestColor() {
         print("requesting color from \(service.name) ...")
-        return self.sendRequest(requestType: readRequestType, resource: Color.resourceId, content: nil)
-    }
-
-    func updateColor(_ color: Color) -> Optional<Error> {
-        return self.sendRequest(requestType: updateRequestType, resource: Color.resourceId, content: color)
-    }
-
-    func requestSettings() -> Optional<Error> {
+        self.sendRequest(requestType: readRequestType, resource: Color.resourceId, content: nil)
+    }
+
+    func updateColor(_ color: Color) {
+        self.sendRequest(requestType: updateRequestType, resource: Color.resourceId, content: color)
+    }
+
+    func requestSettings() {
         print("requesting settings from \(service.name) ...")
-        return self.sendRequest(requestType: readRequestType, resource: Settings.resourceId, content: nil)
-    }
-
-    func updateSettings(_ settings: Settings) -> Optional<Error> {
-        return self.sendRequest(requestType: updateRequestType, resource: Settings.resourceId, content: settings)
+        self.sendRequest(requestType: readRequestType, resource: Settings.resourceId, content: nil)
+    }
+
+    func updateSettings(_ settings: Settings) {
+        self.sendRequest(requestType: updateRequestType, resource: Settings.resourceId, content: settings)
     }
 
     func websocketDidConnect(socket: WebSocket) {

        }
        if self.pongTimer != nil {
            self.pongTimer.invalidate()
        }
        connectionDelegate |> { delegate in
            delegate.websocketDidDisconnect(client: self)

    private static let pingInterval = 3.0
    private static let pongTimeout = 2.0
    private static let disconnectTimeout = 1.0
    private static let responseTime = 0.2
    private static let coolingTime = 0.02

    private let readRequestType = "read"
    private let updateRequestType = "update"
