anchor.diff:    {noreply, NewState :: #state{}, timeout() | hibernate} |
     {stop, Reason :: term(), Reply :: term(), NewState :: #state{}} |
     {stop, Reason :: term(), NewState :: #state{}}).
  +handle_call({get}, _From, State) ->
  +  do_get_positions(State);
  +handle_call({get, PositionId, DeviceId}, _From, State) ->
  +  do_get_last_position(State, PositionId, DeviceId);
  +handle_call({create, Position}, _From, State) ->
  +  do_create_position(State, Position);
   handle_call(_Request, _From, State) ->
     {reply, ok, State}.
   
  
positive.code: %%%===================================================================
  %%% Internal functions
  %%%===================================================================
  
negative.code: %%%===================================================================
  %%% API
  %%%===================================================================
  -spec(get() -> {ok, [Rec :: #position{}]} | {error, string()}).
  get() ->
    gen_server:call(?SERVER, {get}).
  
  -spec(get(PositionId :: integer(), DeviceId :: integer()) -> {ok, Rec :: #position{}} | {error, string()}).
  get(PositionId, DeviceId) ->
    gen_server:call(?SERVER, {get, PositionId, DeviceId}).
  
  -spec(create(Position :: #position{}) -> {ok, #position{}} | {error, string()}).
  create(Position) ->
    gen_server:call(?SERVER, {create, Position}).
  %%--------------------------------------------------------------------
  %% @doc
  %% Starts the server
  