Rename TerminalMorphism to Universal and add an InitialMorphism class
Add coproducts