Introduced a login listener

Resolves #206
Added toString() to password impl