anchor.diff:      {reply, ok, State#state{status=learning}};
   handle_call(start_playing, _From, State) ->
       {reply, ok, State#state{status=playing}};
  -handle_call(save, _From, State) ->
  -    {reply, ?egGameNotImplemented, State};
  +handle_call(save, _From, #state{version=Version, info=Info} = State) ->
  +    handle_call({save, Version, Info}, _From, State);
  +handle_call({save, Version}, _From, #state{info=Info} = State) ->
  +    handle_call({save, Version, Info}, _From, State);
  +handle_call({save, Version, Info}, _From, #state{tid=GameTypeId, layers=Layers, network=Network} = State) ->
  +    Network = Network, 
  +    Weights = [], % Todo: ask Network
  +    imem_meta:write(egTicTacAnn, #egTicTacAnn{id=?BOT_ID(?MODULE, GameTypeId) , version=Version, info=Info, layers=Layers, weights=Weights}),
  +    {reply, ok, State};
   handle_call(state, _From, State) ->
       {reply, State, State};
   handle_call(stop, _From, State) ->
  
positive.code: 
  init([GameTypeId]) ->
      Result = try
          #egGameType{engine=Engine, players=Players, params=Params} = egambo_game:read_type(GameTypeId),
          Width=maps:get(width, Params),
          Height=maps:get(height, Params),
          Run=maps:get(run, Params),
          Gravity=maps:get(gravity, Params),
          Periodic=maps:get(periodic, Params),
          Layers=[Width*Height+1|[Width*Height || _ <- lists:seq(2, Width)]],
          Network=ann:create_neural_network(Layers),
          State = #state{ bid=?MODULE 
                        , tid=GameTypeId
                        , engine=Engine
  
negative.code:         , learn_epochs/4
          , learn_until/4
          , save/1
          , save/2
          , save/3
          ]).
  
  -define(BOT_IS_BUSY, {error, bot_is_busy}).
  