It do call cleanup() method at the end (finally block), so really should put the remove State logic in that cleanup() method