Started with refactoring code. Thought of many design structure for the code. Then finalized one and implemented that but then realized it was not correct. Then again tried another structure but was having difficulty in implementing it all together. so, I thought to start with small changes in original code. so ,after 2 failed attempts got little success. so, I created the ParameterObject class which contain all the data for each parameterWidget and functions to inject and extract the parameters from AST. But then found a bug which was created when I merged updated the prototype branch.