Working subscription mechanism. Still need to setup GUI and handle running messages around