Push messaging through observer paradigm

Add validation to require discard before turn end if over max cards in
hand