Changed my mind; went with the observer pattern style instead