Components clean up

- Cleaned up components implementation and it's tests.