Instead of using a dictionary of handler mappings
use a dict[event] -> list of handler mappings, this
allows the same function/handler to be bound more than
once (which can be useful to do, depending on handler
specifications) and to allow for removal of these handlers
find the first match and remove it using the reflection
callback comparison routine.
Change-Id: Ied31dd893502ec91a48f7d2e1ef2cd4553a07f89