Blynk Main Program & Class - handle_event Not Working

I am trying to integrate Blynk with an existing python app. The app has a main start module, main.py below, that registers the handle_event for read and write * pins. If I add a button to my project w/a VPIN of say 4 it works fine. My problem is w/the handler class, handler.py below, and VPINS it accesses. The handler class instantiates the blynk library, and so does the main.py program - I can confirm that Blynk starts twice based on debugs. For PINS accessed by the handler class their read/write events do not get caught by the handle_event decorator in the main.py. For VPINS that are NOT accessed by handler they flow through the handle_event methods in main.py correctly. It could also be the handler class starts the blynk library after main.py, perhaps overriding the server socket connection?

Does anyone have an example of how this is so supposed to work w/Blynk across a more complex program with multiple modules and classes?

#main.py
from src.lib.blynk import BlynkPublisher as blynkhandler
blynk = blynklib.Blynk('AUTHKEY')

@blynk.handle_event('write V*')
def write_virtual_pin_handler(pin, val):
    blynkhandler().write_event_handler(pin, val)

@blynk.handle_event('read V*')
def read_virtual_pin_handler(pin):
    blynkhandler().read_event_handler(pin)

def main():
    while True:
        blynk.run()


#handler.py
import blynklib 
class BlynkPublisher:
    blynk = blynklib.Blynk("AUTHKEY")
    blynk.run()

    def write_event_handler(self, pin, val):
        print("write to pin %s value %s" % (pin,val))

    def read_event_handler(self, pin):
        print("read pin %s" % (pin))

    def other(self,pin,val):
        self.blynk.virtual_write(pin, val)

And figured out the problem. I was using VPINs higher than 32 max range for the * wild card in the handle_event decorator.