You call it an ugly hack here, isn't there a way you can do this properly? It may take a bit longer but that way the dirtiness is gone :-)

(This of course applies to all the other instances)