Added 'one' method, to execute a handler only once. Added lots more tests