Nope, getting rid of the lock on preferredSize() still doesn't let me go back to using channels for Area events. Oh well.