Bytecode weaving of annotated UI classes to ensure all UI updates occur in the Event Dispatch Thread