Moved code from header to cpp
Framework component for common things