Make Signal creation pure
Remove reflectMutable tag on VarCreation (unnecessary)
Add testcase for products
Add random modifications to TestProducts
Add method to access dependents
Add method to reEvaluate signals
Introduce MyVar alias to resolve naming ambiguity