Reorganize module/class layout
Make view_type an explicit mattr