There are going to be areas of the katello UI that I want to "deface" for SAM. I can imagine other plugins wishing to do similar. How are we going to handle this?
Add/remove/adjust columns in nutupane tables (width, order, etc.)
There has been a long standing request even of old katello to allow table columns to be defined on a per user basis or per usage type. For example, it's easy to imagine two views of the content hosts page, one for subscription status and another for available errata and last content update. Since all of the pages share the table, does this seem reasonable to put into that code?
Add/remove/hide widgets on a page
For example, SAM would hide cross-reference information from a content host to host (slightly contrived example since this specifically would probably be done via permissions).
I imagine there needs to be some sort of "contract" between the UI and plugin. Deface has this same need and the lack of this contract is what makes it so fragile. Beginning to define this would benefit the foreman pages too, I imagine.
Another aspect is how plugins would stack in a sane fashion. Probably not an issue for SAM, since the user base is fairly constrained, but I imagine multiple plugins could step on each other easily. Is this a problem for deface in foreman UI as well?
Currently bastion allows full freedom to add entirely new pages as well as adding and removing tabs in details pages. The menu system is also fully configurable. So really it's just a question of modifying what's displayed within the body of pages.
 SAM is Red Hat's Subscription Asset Manager. This is a free tool that comes with RHEL subscriptions that allows on-premise management of content entitlements. It has historically done very little content management but in many areas overlaps katello's features. It does no provisioning or configuration management of hosts.
“The leader must aim high, see big, judge widely, thus setting himself apart form the ordinary people who debate in narrow confines.” ~ Charles De Gaulle
“Leadership is about making others better as a result of your presence and making sure that impact lasts in your absence.” ~ Harvard Business School