adding hasElement
remove test implementation
change to library
change use namespace writing style to single instruction
add some comments
add isset & unset methods to definable interface
add common implementations as traits