Renamed the "recurse" option to "depth" and added a few more options(see params section in code) like the ability to auto generate observables in the view model.