At least one of the inspirations of Moose, was the object system of Perl 6 at the time (now Raku
https://raku.org using the #rakulang tag on social media). To create a Point class that has an x and a y attribute, you'd write:
class Point {
has $.x;
has $.y;
}
Object instantiation is then done with:
Point.new(x => 42, y => 666);