You should use a Map here instead of a list.  The number of algorithms is small but you end up searching through it over and over.