use CommonServer defines some boilerplate functions for a GenServer.
use CommonServer
@callback initial_state(arg :: any()) :: any()
@callback prepare_start(arg :: any()) :: any()