#32 introduce NoOp goals type

If a goal should just reference dependencies and has no specific code to be run, then, it should be defined as an attribute with a NoOp return type.
Rename comparison function