Added a bunch more infrastructure classes

The plan is to implement drafting functionality first.