changed GetDescription of decrators to be more generic and changed soe parameters of the states constructor