Separate defaults, change setInterval to setTimeout, cache children