You can clone with
HTTPS or Subversion.
Shouldn't be using the same name as class for object instances.
I do not agree with you. Why you say about 'Class'? Decorator allows you to add additional functionality to an object dynamically (In this example, the 'tree' is an object to which to add additional functionality.), this pattern was shown.
@najamkhn thanks for the request, but as @maksimr mentioned, the example is made to show adding functionality to an object. So it will be left as it is.