TODO: Add docs. Field/property definitions should be in the database.