[WIP] Codegen errors

- [x] Remove duplication of interfaces
- [x] Fix fatal errors
because I'm using a `$originalClass->getMethods(ReflectionMethod::IS_ABSTRACT)` call to get all abstract methods.