Sort of unrelated, but I don't think that `fittable` should be an attribute of individual model instances, much less something passed in as an `__init__` parameter (even if it's subsumed by subclasses).  It should just be a class attribute--by default `True`--but model types that don't work with the fitters should set `fittable = False` as a class attribute.