Единственная проблема, которую я вижу в вашем подходе, состоит в том, что чем больше кода вы пишете сами, а не полагаетесь на существующие сторонние библиотеки, тем больше у вас будет обслуживания.
Если у вас есть возможность использовать стороннее устройство, вам следует (в большинстве случаев) интегрировать его вместо того, чтобы что-то писать самостоятельно.