All of these controllers seem very similar, is there any way we can combine similar functionality?