Refactored the system function management as well. All looking good.