Implemented variable defaulting
Use instance_variable_set instead of abusing send
Added validation to goals