Just a picky thing, but the general recommendation here is to use `super()`.  It should be fine here to do `super(PowerLawModel, self).__init__(self.param_names, ndim=1, outdim=1, param_dim=param_dim)`