Good catch! This was an oversight on my part. 
But it exposes a functionality which I have to question. There's a test which goes something like:

```
class MockModel(ParametricModel):
    def __call__(self):
        pass

p = Parameter(name="alpha", default_value=42, model=MockModel())
```
This test works in this PR because `params` is being tested for None.

But I am not sure what use case this attaching of a parameter to a fittable model supports.
Aren't the parameters of a model usually known?
@embray please clarify.