Added ExtendableInterface for better control over extension registration