Console refactor: separated custom widgets