[WIP] Complete rewrite - naming

This is a complete cleanup that tries to fix the major issues in naming of the various involved patterns.