Much better

Business logic fixed for acceptance - 1 casting ever at a time, but
using the many to many relationship.

Needs testing and closure of BB notes.