To get rid of some templates, I added the ability to create new instances of mappers and canvases without knowing their type.