Added comments
Enhanced to hide selection layer when Select is disabled
Added more test
Fixed issues in disable method
Enhanced to hide selection layer when it is set to hidden