Fixed several design flaws with GenericView