Refactor ViewDescriptor