refactor: extracting galaxy generator into separate class + interface for further improvements