The @Property annotation on a framed interface no longer means that
that property is required. There is a new @Mandatory annotation for
denoting this.

The base class Frame now also has getId and getType methods on them,
which should enable to removal of some boilerplate elsewhere.
Add getId and getType to fake frames (anonymous accessor and system scope).
Replace some instances of manager.getId(frame) with frame.getId
More swapping of manager.getId(frame) to frame.getId()