This class seems to have multiple responsibilities:

- communicating the build data with plugins (making it a data object)
- building the final files (making it a "service")
- building path code for a path (making it an utility service)