fixed up ITypeAccessor functionality and created extension methods to access it's functionality directly from any object