gDesklets - an advanced architecture for desktop applets