Implement abstract help view model, use custom classes instead of enums for ui elements, create public read only, internal read/write collection