Lots of modifications to bring neatjs into component compatible world.

Should be finally complete. The tests work as well.