refactor attribute parsing to allow reverse-lookup of groups from
memory.json and to provide more detailed info when appending new
instances to memory.json