Refactor applet module code, expand to desklets