support for hierarchical module naming schemes

@geimer: this should fix the problem that's blocking you right now

I might need to figure out one more thing w.r.t. the devel module name before this really works for you, I'm looking into that...
fixed, only retained `definition()` method, and moved the filtering to the only location where it's needed (in `prepare()`)