making signal require arg spec on creation and forcing slots to adhere to the spec on connect