refactor check with named arguments
extract operation and callback from EM block
enabled logger
wrap logging into module
packet refactoring
wrap template into module
refactor tests
use require instead of require_relative