Can I create a new Viewmode for UE4?

I have an idea to implement a custom Viewmode for viewports and be able to install it via plug-in. Is there an interface for viewmodes or does it require access to restricted code?