Could you describe (e.g. in a comment) why the subclassed behavior creates a new instance, while here you are just returning ```self```?