Add method names to the method invocation table
Fix nasty __init__ related bug
Add more tests
Add more descriptive error message