@staticmethod
def definitions_in(specs_dict):
    """
		Traverse specifications dict and detect definitions
		"""
    defs = set()
    stack = [specs_dict]
    while stack:
        top = stack.pop(0)
        for k, v in top.items():
            if isinstance(v, dict):
                if k == 'define':
                    defs.update(v.keys())
                else:
                    stack.append(v)
            elif isinstance(v, list):
                for d in v:
                    if isinstance(d, dict):
                        stack.append(d)
    return defs
