Optional components

Not yet added into the mod project yet.
Pretty sure the code is good, haven't had a chance just yet to make the
mod and test. Will do later.