Todo
Expand this.
This is the base class for all builders.
These methods are predefined and will be called from the application:
These methods can be overridden in concrete builder classes:
Return an iterable of output files that are outdated, or a string describing what an update build will build.
If the builder does not output individual files corresponding to source files, return a string here. If it does, return an iterable of those files that need to be written.