Added another possible hook.
Initial commit of sub component types.
Removed unnecessary base class files.