Should it be a class or an object? What about optional arguments?