Assembly separation

- Separated data assembly from components assembly, so that components
assembly can be used in projects without any dependencies to client
specific assemblies.