rename subclass name function from name to sub_name
invent IHasName, so that ports/blocks/groups can know their name
use IHasName functionality