Move component definitions into separate files