ServiceClientMetaData moved to contract, do that IServiceClient can make use of it; the IServiceClient .DoWork  now runs in its own Thread