Before big change.  Plans:

Algorithms as separate generic classes;
State implements Searchable, a new interface;