Simple Constraints 

package Article;

use Moose;

use DateTime;

has 'title'   => (is => 'rw', isa => 'Str');
has 'body'    => (is => 'rw', isa => 'Str');
has 'created' => (
    is      => 'rw',
    isa     => 'DateTime',
    default => sub { DateTime->now() },
);