Client generates/retrieves label instances

Also, fix a bug in variable cache where no expiration time mistakenly meant "expire immediately"