Split out Tools nested classes because imports were not working
correctly, causing @override and probably more to throw errors.