Add Guard
Switch to listener gem
Add listener spec