adding missing when, for mapThen / invokeThen
more cleanup, refactoring
moving all lib files into a 'dialects' directory