This is fine, maybe it belongs in neurounit though? Also I'd need to see how you actually use this class before saying whether its a good way to work on not. I'm a little worried you seem overly abstract -- **kwargs and *args should be used VERY sparingly in proper code.