They are the easiest way, but there's nothing theoretically preventing someone from implementing their own versions of these classes (though I don't know why you would want to).

What is the...