Caveat: Handling Errors
Be careful how you handle errors. If you transform data as it goes into and out of the database, and it is possible for one of your callbacks to fail, the data may get saved in an undefined state. It may then be difficult or impossible for the user to recover that data.