The reason I modify {Softmax, }.get_monitoring_channels_from_state is to have a coherent method with MLP. get_monitoring_channels_from_state as the latter actually need the input for the channels for its layers. 
Another option would be to have get_monitoring_channels_from_state monitor the last layer.