If you don't mind I'd like to move this class to a standalone file. And jsdoc wanted.