Changed measurableinterface into a generic class