Developers comfortable with Moose typically look back on their first projects and cringe at some of the more naive choices made simply because they were unaware of better ways. Learn to avoid some common pitfalls and save time with knowing: when to use delegation and when to use role composition, common MooseX namespaced modules that simplify implementation, native attribute traits, and designing with an eye toward Inversion of Control.