Добавлено определение класса Value и немного логики в Step и Algorithm