Changed IOclient search slightly and made Dataclient serialize generics
instead of an object