Observer should have an options, so user can change the default hardcoded options

I also add a new observer, name Hashed. It hash the password before saved to storage. If the password has been hashed, then we shouldn't need to hash it anymore.