move logic to system
add javadoc to component delegate methods