message model spec and implementation
use nulls so the FK constraint works
person model spec & impl
make these properly nullable
add ping model spec & impl