Make the app expandable via plug-ins for other minimization algorithms - intermediate commit.