When checking for the present of the features in the fit method, this raises an error unless the type is a list (for example using a numpy array). This is because the check for its presence is being done by way of an if features: shouldn't this be if features is not None for a more robust implementation?