Base class for the Algorithm. All user algorithms extend from this one.