you may also want to make  the constructor of the Range class internal, to force the user to use it via Get class (if you use first approach), I would suggest to use the second one, but the first one looks cooler...