A machine emulator for learning purposes.