Yeah, deletion could be a huge headache depending on how we set things up. I took this system from a stack overflow post and I guess it's a pretty standard way to do it for messaging systems.

I just wish there was a cleaner way to organize messages by who you're sending them to, instead of having to cross check everything. I was thinking about a Contact class, but it creates duplicate information with the User class and could create more inconsistencies...

It should be fine for a prototype at least. I'll add sender and receiver fields.