   (init-stream-manager! [this])
   (update-streams! [this stream-name])
   (create-stream-endpoint! [this stream-name])
+  (create-virtual-stream-endpoint! [this stream-name])
   (streams [this]))
 
 (defmulti stream (fn [_ params]

                    (assoc-in old-active-streams
                              [this :real-streams]
                              (conj real-streams stream-name)))))))))
  (create-stream-endpoint! [this stream-name]
    ;; TODO: Fix this mess
    (if (not (nil? m))

(defonce publications (ref {}))
(defonce global-channels (ref {}))
(defonce active-streams (ref {}))
(defonce virtual-streams (ref {}))


;; Stream protocols and multimethods
