anchor.diff:  certify(Type, Event, State) ->
       ssl_connection:?FUNCTION_NAME(Type, Event, State, ?MODULE).
   
  +%%--------------------------------------------------------------------
  +-spec cipher(gen_statem:event_type(), term(), #state{}) ->
  +		    gen_statem:state_function_result().
  +%%--------------------------------------------------------------------
   cipher(enter, _, State0) ->
       {State, Actions} = handle_flight_timer(State0),
       {keep_state, State, Actions}; 
  
positive.code: hello(Type, Event, State) ->
      ssl_connection:?FUNCTION_NAME(Type, Event, State, ?MODULE).
  
  abbreviated(enter, _, State0) ->
      {State, Actions} = handle_flight_timer(State0),
      {keep_state, State, Actions}; 
  
negative.code:      ssl_connection:?FUNCTION_NAME(Type, Event, State, ?MODULE).
  
  %%TODO does this make sense for DTLS ?
  %%--------------------------------------------------------------------
  -spec downgrade(gen_statem:event_type(), term(), #state{}) ->
  		       gen_statem:state_function_result().
  %%--------------------------------------------------------------------
  downgrade(enter, _, State) ->
      {keep_state, State};
  downgrade(Type, Event, State) ->
  