With the successful completion of my virtual memory manager, multiprocessor management, interrupt and IRQ system, and the other core parts of my kernel I have now reached a point where I have two paths to take. I can't decide on one, so I would like to hear some input from those more experienced than I (basically everyone). Keep in mind my OS is a microkernel, so the kernel is just a HAL with scheduling.
1. Design and Implement Process Management (threads, IPC, etc.) First
2. Design and Implement Device Management (ACPI, HAL, etc.) First
Process management seems like it would bring the most immediate gratification, because I would actually be able to run programs, which might be a good idea at some point

. On the other hand, device management is going to be quite easy, since I use Intel's ACPICA to make detecting and retrieving information about devices simple.
Any suggestions?