No functional changes intended, but there are a couple additional cleanups: - Use anonymous namespaces instead of static functions - Don't store an extra Device pointer in objects