Early version with triggers and validations.