I think a separate file is too much clutter here since both classes are effectively one function.