Fixes #511 - Allows controller to determine third state | Added unit tests