Our data access tools purposefully obfuscate the underlying database implementation so that we can make changes without users having to make any changes to their custom code. If users build custom code using, for example, the AF SDK, then if we have to change the underlying database implementation, we will make sure the AF SDK supports the change. In this way, we can preserve backwards compatibility.