Why not just pass these arguments to the initializer instead of making them optional?