initial implementation of MessageListener, moved Controller class to new
control.main package