Refactor relationships so each relationship is handled individually

- create Casters
- create Relationships

LGTMs Ed Sam

closes #12