A file that grows too much tends to aggregate too many responsibilities and inevitably becomes harder to understand and therefore to maintain. This
is doubly true for a file with multiple top-level classes and interfaces. It is strongly advised to divide the file into one top-level class or
interface per file.