Split interface/view classes even more so that different kinds of views and interfaces can be implemented