Is there any reason to not have this as a class you can subclass?