represents a git object
if we‘re calling this, we don‘t know what type it is yet so this is our little factory method
[Validate]