Passando objetos wxPython como argumentos de multiprocessador

Atualmente, estou escrevendo um programa em python com uma interface gráfica usando wxpython. O programa tem uma função que avalia vários scripts pythons e, portanto, desligará o gui. Estou tentando usar um processo separado para esta função. O problema é que a função precisa de algumas coisas da interface do usuário; um listctrl e um textctrl, para atualizar as informações sobre os scripts que foram executados. O seguinte erro é recebido ao tentar passar objetos wxpython para o processo

PicklingError: Can't pickle <type 'PySwigObject'>: attribute lookup __builtin__.PySwigObject failed

Método que cria e inicia o processo:

def CreateProcess():
    q = Queue()
    q.put(gui.caselist)
    q.put(gui.textlog)
    p = Process(target=runScripts, args=(q,))
    p.start()

Parte do método que está sendo executado pelo processo:

def runScripts(q):
    caselist = q.get()
    text = q.get()

questionAnswers(1)

yourAnswerToTheQuestion