[add] add specs, rewrite functions

extend, inherit, Browser, PubSub, PubSubGroup