Add callset backends to the hash

Now callsets and readsets can come from different backends.
Fix variant change bugs