Files with custom widgets should contain no more than one public class. The file name should be the same as the public class it contains. What about libraries that contain widgets?