Rather than passing in a callable path for custom MKPs and using NOP post processing, I think what would be better is to implement a discoverable plugin structure that will guide implementers to define an entry point function that returns a MKP callable and optional post-processing callable.
https://packaging.python.org/guides/creating-and-discovering-plugins/
http://setuptools.readthedocs.io/en/latest/setuptools.html#dynamic-discovery-of-services-and-plugins