BuildTool and BuildJob classes (not finished)