Convert to Moo and Type::Tiny