You can clone with
HTTPS or Subversion.
SDLx getter methods are also setter methods. When you call them with no arguments, you get what you asked for. When you call them with arguments, you set it... but you don't get back anything useful in most cases. In these cases, the best thing to return is $self, so you can stack more setting, like:
I'll do this unless there are any problems.