Implement undefined method handling.
Refactor test
Use GenServer.Behaviour insted of @behaviour