Split internals out into individual files per mixin/function and moved some imports to their own folder for root folder clarity