Fixed category handling

Signed-off-by: Tom Wright <tom@inflatablecookie.com>
Converted all headers to components

Signed-off-by: Tom Wright <tom@inflatablecookie.com>