Added fix Adam suggested to ensure that all components that can recieve a message within a game object are called as well as some tests to make sure that functionality works