Restructured methods and implemented reset! to reset all attributes.