Use method_missing for magic consolidation of protocol methods
Try to consolidate all protocol handling further
Merge branch 'protocol_magic'