FPA refactoring in preparation for FPA support in the kernel.

Signed-off-by: Christoph M. Wintersteiger <cwinter@microsoft.com>