We decompose this and then it is recomposed inside this method. It's ugly for no real good reason right now