scheduled update of MooseX::Method::Signatures.
This module adds a lazy_required option to Moose attribute declarations.
The reader methods for all attributes with that option will throw an
exception unless a value for the attributes was provided earlier by a
constructor parameter or through a writer method.