$nodes is now an array of path => nodes, rather than a array of path properties. The method generateICS loops through these nodes and gets the path properties for each node. This is the only place where generateICS is called so is safe to change the behaviour in that function.