I tried playing around with this but it turns out that there is one issue illustrated here:

```
CM = {}

class MetaTest(type):
    def __init__(cls, name, bases, members):
        CM['a'] = members.get('test')

class Test(object):
    __metaclass__ = MetaTest
    @classmethod
    def test(cls, a, b):
        print a, b
        
CM['a'](1,2)
```

gives

```
TypeError: 'classmethod' object is not callable
```

I think this is because one cannot store a reference to a class method or static method until the class has been defined, which it hasn't when the metaclass is being called. Do you have ideas on how to get around this?