Added boolean conversions
Reduced dependence on Constant.Value property
Added comments
Added support for variables to be members of Rings
Returns null upon call failure instead of throwing an exception