Some sort of Object State Manager