Fix bug when no `super-new` provided
Add support for private methods
Rule out multiple `super-new`