Use DelegateClass instead of core class inheiritance

Inheiriting from core classes like `String` can cause issues. Let's use `DelegateClass` to avoid the inheiritance.