hubs#state must be abstract