я как и вы - пользователь, а не разработчик, но хочу сказать что в свободном программировании, имхо, не бывает "прямых и незаковыристых тропинок".

контроллеры дают большие возможности. вопросов всегда уйма, но надо вникать. множество контроллеров программится по тем же мэк стандартам.

а с лампочкой - нужно просто следить за совпадением типов переменных и при необходимости проводить явное преобразование типов.