FUDGE is probably used for epsilon-equals methods, which are preferably to comparing floats and doubles directly. Its not really a hack, just an irregularity of floating point numbers.
My own Gui framework is comming along nicely, with windows that are now draggable, resizeable and can be hidden/shown. Just got a basic button as well, other widgets can wait for the time being (layout managers and scroll panes up next..) To avoid threading, I've basically hung all the behavoir off a few methods: reactToUser(), update() and render(). Then I just call each of these every frame to keep them updated with the current state of the mouse/keyboard. If a component needs to, it forwards the calls to the child components, or discards them.
Is there anything specific you need multithreaded callbacks for? Cas doesn't seem to have had any problems either, the Gui stuff looks pretty sweet - I may have to bug him about his text displaying code, mine still has some annoying quirks...
