Thanks Apero,
The way you suggested can resolve the method calling issue. But this won't able to the make the {Parent} attributes shareable in different constructors in Lite in my case.
That said, with my Lite class, I might have
$admin = MyTest::Lite -> asAdmin( $id );
$user = MyTest::Lite -> asUser( $id );
where a data dump will give something like:
$admin => {
Mode => 'Admin',
CommonParentAttributes => {...}
}, MyTest::Lite
and
$user => {
Mode => 'User',
CommonParentAttributes => {...}
}, MyTest::Lite
I don't actually mind if
Mode is written into the
CommonParentAttributes (thus I don't need CommomParentAttributes at all) , but when
$user is created,
$admin's
Mode will become 'User'