typical object systems are defined in terms of, well, object systems
        
        has input_file => (
           is       => 'ro',
           isa      => File,
           coerce   => 1,
           required => 1,
        );