Added status validations and tests, along with other basic design changes