Implemented states but have not tested. Fixed Fonts::ID error.