Remove type errors on WebSocketCallbacks creation

Change-Id: I71cb3d37466979d6454e37e71dee00725d0757c8
diff --git a/server/src/websocket/websocket-server.ts b/server/src/websocket/websocket-server.ts
index c1b9904..310dbd5 100644
--- a/server/src/websocket/websocket-server.ts
+++ b/server/src/websocket/websocket-server.ts
@@ -32,6 +32,16 @@
   [key in WebSocketMessageType]: Set<WebSocketCallback<key>>;
 };
 
+const buildWebSocketCallbacks = (): WebSocketCallbacks => {
+  const webSocketCallback = {} as WebSocketCallbacks;
+  for (const messageType of Object.values(WebSocketMessageType)) {
+    // TODO: type this properly to prevent mistakes
+    // The end result of the function is still typed properly
+    webSocketCallback[messageType] = new Set() as any;
+  }
+  return webSocketCallback;
+};
+
 @Service()
 export class WebSocketServer {
   private wss = new WebSocket.WebSocketServer({ noServer: true });
@@ -39,10 +49,7 @@
   private callbacks: WebSocketCallbacks;
 
   constructor() {
-    this.callbacks = {} as WebSocketCallbacks;
-    for (const messageType of Object.values(WebSocketMessageType)) {
-      this.callbacks[messageType] = new Set<WebSocketCallback<typeof messageType>>();
-    }
+    this.callbacks = buildWebSocketCallbacks();
 
     this.wss.on('connection', (ws: WebSocket.WebSocket, _request: IncomingMessage, accountId: string) => {
       log.info('New connection for account', accountId);