Use gradle-velocity-task.
Update PreprocessorListener to be an interface.
Make Source.getName() public.