Initial commit taken from Dart tutorial.