add media properties and event callbacks