Is there any reason for splitting this out into a separate widget? It's not necessarily a problem, but it might not be necessary?