Pass around nodules rather than feature dicts