Organized minimal API around MCSystem (user input) and MCChain (user output)