Major Changes
Minor fixes
Updating multiple files
Updated test cases. Working it seems
Adding a no-data check
Renaming to `create` in DataPipe
DataPipe Stores transient data as an Array
Adding Tree Factory module
TreeFactory initialises one object per chain call
Updating read me file