Refactor base.py to use new Pattern class.
Require that all ports in Compatible interfaces must have their 'io' attribs set when checking interface compatibility.
Use three interconnected modules in base class emulation demo.