updated for category class, ran validations, and callbacks with factorygirl