This allows to split one large block of code into three components with each one usecase. Allowing for better readability and maintainablility. Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>