To do this properly, #687 needs to be fixed first. Several functions like that are already available in the framework, so we should build upon those to provide a set of useful functions here to allow clean implementations of module naming schemes.
I added a note to #687, I don't want to spend time on this and hold this PR back further, it's big enough as is (I'm sure you'll agree ;-)).

> add `__init__` with self.log

done