When you use a generic "group name" to be expanded into a list of item names by the Metadata Adapter, as in
var ngroup = ["items"];
the generated item names are not communicated to the client library (see the onItemUpdate doc).
If you really need those names on your front-end, you can setup a new field to ask for them.
The client can still discriminate the items by their numeric "itemIndex".

About the subscription mode, note that they must obey some restrictions (see paragraph 3.1 in General Concepts.pdf).
However, you are free to configure the proper modes for your items, through the "modeMayBeAllowed" method of your Metadata Adapter.
You are probably still inheriting the configuration of the StockListDemo, which is made through the <item_family_...> elements in "adapters.xml", managed by the LiteralBasedProvider.