#32 : allow applications to overload the behavior of endpoint

allow applications to overload the behavior of endpoint #32
Revert "#32 : allow applications to overload the behavior of endpoint"

This reverts commit 878dd7d8c93297997bb5820c4b84a114c91543d4.
Revert "Revert "#32 : allow applications to overload the behavior of endpoint""

This reverts commit 4094e297b08785d138e22e1fce29ca9b922c072b.
#28 : catch exception of email is invalid

and show msg to user