add Observer and Callback for player
combine code for conflicts
add Observer and Callback for player