cache list_children

1. Use logical OR (not if) to ensure options defined
2. Cache list_children for minimisation & speed.

Note: subsequent changes plan to attach data & handler on list, not list.children()