Moved generalized interface out into newmod