<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def initializes_simulants(self, initializer: Callable[[SimulantData], None], creates_columns: Sequence[str]=(), requires_columns: Sequence[str]=()):
 """Marks a callable as a source of initial state information for new simulants. Parameters initializer : A callable that adds or updates initial state information about new simulants. creates_columns : A list of the state table columns that the given initializer provides the initial state information for. requires_columns : A list of the state table columns that already need to be present and populated in the state table before the provided initializer is called. """

        self._population_manager.register_simulant_initializer(initializer, creates_columns, requires_columns)