Reimplement state manager