https://medium.com/@wafiqmuhaz/dart-oop-named-constructor-redirecting-constructor-initializer-list-constant-constructor-cbe34c2c23ee