A DSL for defining badges and awarding badges