kinda applied the patch
fix stuff
fix syntax error
fix merge conflict
state is optional
fix language.module language manager
fix plugin manager and argument order
fixing unit tests and user negotation