Update update before/after callbacks to provide both instance and data
Add hasOne association