Working proof of concept reactive components. Still very ugly