The logging preference and the weave_compiler preference should obviously move to the logging/codegen package -- but this is ok for now, it's more of an illustration anyway.