more generic implementation of refreshable gauglets