remove preprocessor macro defined condition node interface
add interfaces for presence conditions
implement condition factory for erlang