Update behavior classes
Update Wave declaration
Update component factory
Big clean up and probably some other new features emebedded