Component Refactor & Input system