    Issues:
    - an issue with DOM replacement during the update sequence...
        - kills draggable...
            the main list is dragable but after render it does not work.
        - messes with buttons on nested lists...
            to reproduce:
                open: B/C (copy path, then paste to dialog)
                collapce...
                    - B is hidden fully
                recover by collapsing B then expanding
                    - now everything is working but buttons are not drawn
    - who is responsible for drawing? ...parent or child?
        ...this might be related to the above issue (case #2)
    - is this overcomplicated???
        ...can the core be simpler and more modular?
        should investigate after the main functionality is implemented
        NOTE: the actual LOC count is 2727 at this point in time (20200327)
            so what's bugging me from time to time is not the code bloat but
            rather doc bloat...
            ...but I'm not saying that there's no code bloat, though it's not
            as big as I fear =)

    ToDo:
    - add to default actions:
        - open/push (implemented)
    	- edit/view
    	- delete
    	- ...
      ...might also be nice to make adding default actions trivial (buttons?)
    - interactive path element...
    - search -- flat/deep
    - flat tree render, one level at a time (a-la browse-walk.js / finder)
    - migrate make.* constructors from browse.js...
    - integrate into the widget framework...
        ...either inherit or redesign the older code...
    - partial render for long lists...
    - refactor/revise...