make sure proxy target channel is initialized before reading
some code refactoring and format for behavior function classes
adjust abstract handler to use behavior function interface
fixed unit test