Refactored to only use single factory interface for states