Character class and support for moving them around the map