Is this callback stuff really necessary? Can't `Sugarable` just `include Chef::Sugar::DSL` and define the instance methods directly?