Use generic callbacks for update