It seems like having EntityBar() with a drawFunc should have worked pretty well for the current uses, and been far simpler/easier to understand/less prone to bugs (although we can discuss it if you feel differently).