Hi Lee,
As of yesterday bcms is now singleton and service package. I removed reusuable UI from bcms as of now. But they do exists on bcms-ui-base/resources which should move to /lib according to the new docs.
I do agree a good design pattern and may helper procs for this tip. On thing is needed is to enforce includes like what ad_page_contract does.