Complexity as information content and its implications for systems design