Snap implemented these features and others long before Scratch had. To my memory it might have been a decade earlier.