I'm afraid you will soon find out that not learning an OO-framework (such as Moo) but rolling your own was a waste of time after all.
Moo and friends have limitations and bring added complexity that not everyone may want. c.f. "Moose Made me a Bad OO Programmer" by Tadeusz Sośnierz
I've done fine for a medium size project using Object::Tiny to create accessors, and Role::Tiny to separate out functionality of large ("God") classes.