static IEnumerable <PropertyInfo> GetStateMachineProperties(Type typeInfo)
 {
     return(TypeMetadataCache.GetProperties(typeInfo)
            .Where(x => x.CanRead && x.CanWrite));
 }